Heim  >  Artikel  >  Web-Frontend  >  Die Übermittlung des jQuery-Validierungs-Plug-ins „submitHandler“ führt zu einer Endlosschleife „solution_jquery“.

Die Übermittlung des jQuery-Validierungs-Plug-ins „submitHandler“ führt zu einer Endlosschleife „solution_jquery“.

WBOY
WBOYOriginal
2016-05-16 15:19:051483Durchsuche

Das Beispiel in diesem Artikel beschreibt die Lösung für die Endlosschleife, die durch die Übermittlung des jQuery-Validierungs-Plug-ins „submitHandler“ verursacht wird. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Es gibt keinen funktionalen Unterschied zwischen form.submit(); für dom-Objekte und $('').submit(); für jquery-Objekte. Wenn Sie jedoch das JQuery-Validierungs-Plug-In verwenden, gibt es beim Senden einen großen Unterschied zwischen den beiden. Wenn $('').submit(); gesendet wird, führt die Überprüfung durch jquery durch. Wenn $('').submit(); wird nicht.

Dieses Problem ist klein, wenn man nicht aufpasst oder es gewohnt ist, Fehler zu machen, und wenn man Fehler macht, ist es schwierig, sie zu finden. Ich brauchte fast zwei Stunden, um den Grund herauszufinden.

1. Lassen Sie uns kurz über Dom-Objekte und JQuery-Objekte sprechen

Dom-Objekt, Sie müssen die js-Schreibmethode verwenden, um die Tags auf der Seite zu bedienen. Bei JQuery-Objekten müssen Sie zum Betrieb die JQuery-Syntax verwenden.

Das Konvertieren eines DOM-Objekts in ein JQuery-Objekt ist ebenfalls sehr einfach. Fügen Sie einfach $ () hinzu und verwenden Sie dann die JQuery-Syntax, um die Tags auf der Seite zu bedienen. Ich denke, das ist es, was jeder am häufigsten nutzt. Schauen Sie sich ein Beispiel an.

$('input[name^="hour"]').each(function(index){
  this.value=index; //this是dom对像,js写法
});
$('input[name^="hour"]').each(function(index){
  $(this).val(index); //$(this)是jquery对像,jquery写法
});

2. JQuery-Validierung des Endlosschleifenprogramms

$("#product_form").validate({
  focusInvalid:false,
  submitHandler: function(form){
    $('.submit').submit();
  }
});

Richtiges Schreiben,

$("#product_form").validate({
  focusInvalid:false,
  submitHandler: function(form){
    form.submit();
  }
});

Wenn eine Endlosschleife auftritt, wird der Browser so lange geladen, bis er hängt. Zu diesem Zeitpunkt können Sie eine Warnung hinzufügen und wissen, dass die Validierung ständig in einer Schleife erfolgt. Persönlich denke ich, dass es zwar ein kleines Problem ist, es aber schwierig ist, darüber nachzudenken.

Leser, die an weiteren Inhalten zu jQuery-Plug-ins interessiert sind, können sich das Spezialthema dieser Website ansehen: „ Zusammenfassung gängiger jQuery-Plug-ins und deren Verwendung

Ich hoffe, dass dieser Artikel allen in der jQuery-Programmierung hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn