hier ein Working Fiddle ist und der Code ist wie folgt.
$(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.
});
});
Die Idee ist, einen Zeiger zu sagen für diese Form hinzufügen, wenn seine Gültigkeit nicht die form.submit();
dh Plugin tun einreichen, aber Ihre eigene Logik ausführen und dann entweder einreichen oder vorlegen nicht.
Der Zeiger ich im Gespräch bin, ist diese
$('#myform').data('has-customSubmit-event', true);
Jetzt im Plugin-Handler unterbreiten wir dann reichen Sie ein, wenn Scheck sagen, wenn diese Form einen benutzerdefinierten Handler hat auszuführen haben kann, sonst die bilden.
if ($(form).data('has-customSubmit-event') === true) {
$(form).trigger('customSubmit'); // trigger your custom submit.
} else {
form.submit();
}
Auch die Art und Weise Sie hinzufügen, die Validierung Plugin $("form").validate({..
wie diese. Was ich herausgefunden habe, war, dass das Submit-Handler-Ereignis nur für das erste Formular ausgelöst wird (Nicht sicher warum, Fiddle With Issue).
So, es zu beheben eine each()
Funktion eine Schleife durch alle Formulare und das Plugin einzeln binden, Example Fiddle
ich diese Situation auf Ihrem jsfiddle nicht sehen können? –
Sorry, meine Geige wurde nur für meine Session aktualisiert, jetzt aktualisiere ich den Link zur letzten Version. – Tobia
@Tobia lassen Sie mich wissen, wenn meine Antwort hilft Ihnen –