Jquery проверяет наличие ошибок if / else и размещение плюсов в div

#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