Вот является Working Fiddle И код как показано ниже.
$(function() {
$("form").validate({
submitHandler: function(form) {
$("body").append("<p>validate</p>");
if ($(form).data('has-customSubmit-event') === true) {
$(form).trigger('customSubmit'); // trigger your custom submit.
} else {
form.submit();
}
}
});
$('#myform').data('has-customSubmit-event', true); // add a pointer to say there is a custom handler for this form,
$("#myform").on('customSubmit', function(e) {
$("body").append("<p>other handler</p>");
//$(this).submit(); // if you want to submit this form.
});
});
Идея заключается в том, чтобы добавить указатель, говорящий для этой формы, если его действительным не делать плагин Передать то form.submit();
но запустить собственную логику, а затем либо представить или вы не представить.
Указатель я говорю это
$('#myform').data('has-customSubmit-event', true);
Теперь в плагине представить обработчик мы можем иметь, если чек говоря, если эта форма имеет специальный обработчик для выполнения, то сделать это, иначе представляет в форма.
if ($(form).data('has-customSubmit-event') === true) {
$(form).trigger('customSubmit'); // trigger your custom submit.
} else {
form.submit();
}
Кроме того, как вы добавляете плагин проверки $("form").validate({..
как это. Так что я узнал, что это вызовет событие отправки обработчика только для первой формы (не знаю почему, Fiddle With Issue).
Так, чтобы исправить это использовать each()
функцию в цикле через все формы и связать плагин индивидуально, Example Fiddle
я не могу видеть эту ситуацию на вашем jsfiddle? –
Извините, моя скрипка была обновлена только для моей сессии, теперь я обновляю ссылку на последнюю версию. – Tobia
@Tobia дайте мне знать, если мой ответ вам поможет –