Проверьте форму по событию Click с помощью валидатора jQuery.

Я использую JQuery проверки для подтверждения ввода. Мой код:

 $('#button').click( function() {       
    $("#form").validate({              
        rules: {
            phone: {
                required: true,
                number: true,
                rangelength: [7, 14]
            }
        }
    }); 
});

И HTML:

<form id="form" name="form" method="post" action="">
 <input id="phone" name="phone" class="required" type="text" />
 <div class="button" id="send_b">Send</div>
 </form>

Этот код не работает. Если я добавлю эту строку JQuery

$("#form").submit();  

внутри события клика это работает. Но я не хочу отправлять форму, поэтому я хочу просто выполнить проверку по клику.

Кто-нибудь знает как это сделать?

3 ответа

Решение

Просто добавь .form() чтобы немедленно запустить проверку (поведение по умолчанию ожидает события отправки):

$('#button').click( function() {       
  $("#form").validate({              
    rules: {
      phone: {
        required: true,
        number: true,
        rangelength: [7, 14]
      }
    }
  }).form(); 
});

Используйте метод формы form() метод с вашим событием клика

Ваш код привязывает функцию к click событие кнопки. То, что вы делаете, говорит: "когда нажата эта кнопка, примените проверку формы к форме".

Это неправильный способ использовать плагин проверки (я предполагаю, что вы используете этот плагин проверки). Вместо этого вы просто выполняете validation() метод непосредственно на form элемент; плагин заботится о submit событие.

Итак, избавьтесь от click привязка событий.

Другие вопросы по тегам