Конструкторы - это специальные методы, используемые для инициализации ваших членов класса различными сигнатурами / параметрами
Заголовок цитаты:
«Как использовать плагин проверки jQuery при нажатии кнопки«
Ответ: t нужно что-либо сделать, потому что событие
click
кнопки уже записано автоматически плагином, а затем активируется проверка.Другими словами, решение состоит в том, чтобы удалить всю вашу функцию
click
обработчика и поставитьajax()
внутри опцииsubmitHandler
метода.validate()
.Согласно документации:
submitHandler
: Обратный вызов для обработки фактического представления, когда форма действительна. Возвращает форму как единственный аргумент. Заменяет отправку по умолчанию. Правильное место для отправки формы через Ajax после ее проверки .$(function () { $("#form-insert").validate({ rules: { tbRollNo: "required" }, messages: { tbRollNo: "Required Field" }, submitHandler: function(form) { // your ajax would go here. $.ajax({ // your ajax options .... }); return false; // extra insurance preventing the default form action } }); });
Цитировать OP:
«Поэтому, когда я нажимаю кнопку выше, он прямо читает функцию
$("#insertstd").click
, но не запускает проверку, а когда я удаляюid="insertstd"
с кнопки, то выполняет проверку.»Это потому, что ваш обработчик
click
вмешивается в обработчикsubmit
, уже встроенный в плагин. Когда вы удалитеid
с кнопки, вы перестанете использовать обработчикclick
и разрешите плагин проверять. Поскольку вы хотите использоватьajax()
после , форма проходит проверку, вы можете поместить ее внутри опции обратного вызоваsubmitHandler
, которая предоставляется плагином jQuery Validate.
.preventDefault()
не имеет абсолютно никакого дела внутриsubmitHandler
, и если вы его там положите, вы, вероятно, что-то сломаете. Плагин автоматически обрабатывает все и до тех пор, пока вы включите опциюsubmitHandler
, не будет отправки формы по умолчанию (обновление страницы не будет). Поэтому вы должны вручную поставить код представления формы внутриsubmitHandler
... в вашем случае,ajax()
. – Sparky 12 October 2014 в 17:06