Formularübermittlung mit JavaScript stoppen
Die Formularübermittlung kann in JavaScript mit verschiedenen Methoden verhindert werden. Eine in der Frage erwähnte Methode besteht darin, von der Validierungsfunktion „false“ zurückzugeben, wenn bestimmte Bedingungen erfüllt sind. In diesem Fall wird das Formular jedoch auch nach dem Aufruf der Funktion returnToPreviousPage() gesendet.
Um die Formularübermittlung effektiv zu stoppen und zur vorherigen Seite zurückzukehren, sollten Sie die folgenden Ansätze in Betracht ziehen:
1. PreventDefault() und Return False:
Fügen Sie die Methode „preventDefault()“ zum Onsubmit-Ereignishandler des Formulars hinzu und geben Sie „False“ von der Validierungsfunktion zurück. Dadurch wird verhindert, dass der Browser das Formular sendet, und die Funktion returnToPreviousPage() wird ausgelöst, um zur vorherigen Seite zurückzukehren:
<form onsubmit="event.preventDefault(); validateMyForm();">
function validateMyForm() { if (condition not met) { alert("Validation failed"); returnToPreviousPage(); return false; } else { alert("Validation passed"); return true; } }
2. Rückgabewert der Funktion:
Verwenden Sie den Rückgabewert der Validierungsfunktion, um die Formularübermittlung zu steuern. Geben Sie im onsubmit-Ereignishandler den Namen der Validierungsfunktion an und legen Sie den Rückgabewert der Funktion fest, um die Übermittlung zu stoppen oder zuzulassen:
<form onsubmit="return validateMyForm();">
function validateMyForm() { if (condition not met) { alert("Validation failed"); returnToPreviousPage(); return false; } else { alert("Validation passed"); return true; } }
Hinweis: Bei Verwendung von Chrome 27.0.1453.116 m kann es erforderlich sein, das Feld „returnValue“ des Ereignisparameters auf „false“ zu setzen, damit der obige Code effektiv funktioniert.
Das obige ist der detaillierte Inhalt vonWie kann ich die Übermittlung von JavaScript-Formularen zuverlässig stoppen und zurück navigieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!