Проблема с выводом ошибок в форме
Здравствуйте уважаемое сообщество.
Столкнулся с проблемой и ни как не могу найти решение, уже несколько дней все интернеты обыскиваю:help: Суть в том, что ни как не могу разобраться каким образом реализовать изменение цвета фона формы отправки данных, если поля формы были заполнены некорректно или отправляются в обработчик с нулевыми данными. То есть как выводить ошибку в виде измененного цвета фона того или иного поля в зависимости, где произошла ошибка, а при клике на поле, оно возвращалось к первоначальному виду? А то alert'ом выводить как-то не очень:no: Заранее благодарен. Вот функция отправки данных на сервер. (я попытался с помощью return вернуть вместо alert присоединенный класс, который меняет цвет фона у текстового поля, но это не работает так как мне нужно). function sendData() { commentForm.find('button').hide().next().show(); sendDataComment.docid = commentForm.find("#login").val(); $.post( "savecomment.php", sendDataComment, function(data){ if(data) { data = $.parseJSON(data); var errors =''; $.each(data, function(i, val) { errors += val+'\n'; }); //return ("textarea").addClass('error-data'); commentForm.find('button').show().next().hide(); //alert(errors); } else formToComment(); } ) |
Неужели нет знающих людей, которые разбираются в вопросе?
|
Из приведенного кода неясно что именно возвращает сервер и можно ли это использовать для идентификации полей формы.
И в общем случае, корректность заполнения полей лучше проверять до отправки серверу. |
function sendData() { var ret = {'result' : true}; commentForm.find('button').hide().next().show(); sendDataComment.docid = commentForm.find("#login").val(); $.post( "savecomment.php", sendDataComment, function(data){ if(data) { data = $.parseJSON(data); var errors =''; $.each(data, function(i, val) { errors += val+'\n'; }); if(errors) ret['result'] = false; //return ("textarea").addClass('error-data'); commentForm.find('button').show().next().hide(); //alert(errors); } else formToComment(); } ) return ret['result']; } if(! sendData()){ /* ошибки в каких то полях */ } |
Ребята, спасибо, что откликнулись. В "i" каждого цикла содержится имя поля, в котором возникла ошибка - author и comment
Вот так данные отправляются с этих полей, функция первоочередная перед той, которою я показал в первом топике $('#newComment button').live('click',function(){ sendDataComment.author = commentForm.find("input[name='name']").val(); sendDataComment.comment = commentForm.find("textarea").val(); sendData(); }); Проблема в том, чтобы присоединить к этим полям дополнительный класс CSS, который будет изменять у них фоновый цвет в случае отправки на сервер пустых значений. |
Уважаемые профи, помогите, пожалуйста, разобраться...:help:
|
излагай вопрос то
|
Часовой пояс GMT +3, время: 13:28. |