Heim >Web-Frontend >js-Tutorial >Warum verschwindet mein Anmeldeformular, anstatt es bei „Eingabe' abzusenden?
Senden eines Formulars auf „Enter“ mit jQuery
Wenn Sie mit einem Standard-Anmeldeformular in einem AIR-Projekt arbeiten, das HTML/jQuery verwendet, drücken Sie „Enter“ kann zu unerwartetem Verhalten führen, z. B. zum Verschwinden von Formularinhalten ohne Absenden. Um dieses Problem zu beheben, ist es wichtig, mögliche zugrunde liegende Ursachen zu verstehen.
Das bereitgestellte Code-Snippet versucht, das „Enter“-Tastenereignis mithilfe der Funktion „.keypress()“ zu verarbeiten, kann das verschwindende Formular jedoch nicht auflösen die Unterwerfung ausstellen und verhindern. Ein möglicher Grund könnte das Fehlen eines „Aktions“-Attributs im Formular sein.
Um dieses Problem effektiv zu lösen, ändern Sie den Event-Handler-Code wie folgt:
$('.input').keypress(function (e) { if (e.which == 13) { $('form#login').submit(); return false; // Add this line } });
Der Schlüsselzusatz hier ist die „return false“-Anweisung. Das Hinzufügen dieser Zeile verhindert im Wesentlichen das Standardverhalten, das mit dem Drücken der „Enter“-Taste verbunden ist, was in diesem Fall dazu führt, dass das Formular aufgrund widersprüchlicher Aktionen nicht gesendet wird.
Wie in der verknüpften StackOverflow-Antwort erwähnt, „return false“ Funktioniert ähnlich wie „e.preventDefault()“ und „e.stopPropagation()“, unterdrückt das Standardverhalten des Browsers und erleichtert die benutzerdefinierte Behandlung des Ereignisses.
Mit dieser Änderung sollte das Drücken der Eingabetaste im Anmeldeformular erfolgen Senden Sie das Formular korrekt ab und lösen Sie das ursprünglich aufgetretene Problem.
Das obige ist der detaillierte Inhalt vonWarum verschwindet mein Anmeldeformular, anstatt es bei „Eingabe' abzusenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!