Проблема с выводом ошибок в форме
Здравствуйте уважаемое сообщество.
Столкнулся с проблемой и ни как не могу найти решение, уже несколько дней все интернеты обыскиваю: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:38. |