#javascript #jquery #jquery-validate #errorplacement
#javascript #jquery #jquery-проверка #ошибка при размещении #размещение ошибок
Вопрос:
У меня есть форма, в которой размещение радиокнопок отличается от размещения других элементов в форме.
Я хотел бы сохранить это, но также добавить ошибки в div. Возможно ли это сделать?
Прямо сейчас у меня есть это для размещения radiobutton
$('#newform').validate({
onfocusout: function(element) { $(element).valid(); },
errorPlacement: function(error, element) {
if ( element.is(":radio") ) {
error.prependTo( element.parent() );
}
else { // This is the default behavior of the script
error.insertAfter( element );
}
},
rules{XXX},
messages{}
И так далее. Как я могу добавить сообщения об ошибках в div, не удаляя текущую функциональность?
Ответ №1:
используйте параметр errorLabelContainer :
$("#myform").validate({
errorLabelContainer: "#messageBox",
wrapper: "li"
})
это поместит все ошибки в список ( li
) внутри элемента DOM с идентификатором MessageBox
Смотрите здесь
Извините, я неправильно понял вашу проблему….
попробуйте это :
$('#newform').validate({
onfocusout: function(element) { $(element).valid(); },
errorPlacement: function(error, element) {
if ( element.is(":radio") ) {
error.prependTo( element.parent() );
}
else { // This is the default behavior of the script
error.insertAfter( element );
}
error.appendTo('#errordiv');
},
Это сохранит вашу текущую функциональность, но также добавит сообщение в div с идентификатором ‘errordiv’
Комментарии:
1. похоже, это не работает в сочетании с размещением ошибок. div с идентификатором #messagebox просто остается пустым.
2. @logistef обновил мой ответ — извините, мисс — понял ваш вопрос
3. Я протестировал его без своего кода, и, похоже, он тоже не работает: s
4. Хотя я не все проверял. Теперь я потерял свою проверку рядом с метками и радиокнопками. Теперь отображаются только сообщения в div.
5. @logistef есть другой вариант — попробуйте это -> jsfiddle.net/manseuk/xTdYr/2