Submit einer Seite per JavaScript abbrechen
Jörg Henning
- html
0 Maz0 Sebastian Becker0 Primus
Hallo,
ich habe eine HTML-Seite in der Daten eingegeben werden.
Wenn man danach auf Speichern klickt, prüfe ich per JavaScript ob die Felder auch richtig gefüllt sind.
Ist dies nicht der Fall, soll das Senden abgebrochen werden.
Dafür habe ich ein "return false;" eingebaut.
Dies bringt aber nichts. Er ruft trotzdem die neue Seite auf und bekommt dann einen SQL Fehler, da die Werte nicht stimmen.
Gibt es eine Möglichkeit das Senden abzubrechen?
Danke und Gruss
Jörg
Moinsen,
ich habe eine HTML-Seite in der Daten eingegeben werden.
Wenn man danach auf Speichern klickt, prüfe ich per JavaScript ob die Felder auch richtig gefüllt sind.
Ist dies nicht der Fall, soll das Senden abgebrochen werden.
das lässt sich ja leicht umgehen, indem man JS deaktiviert.
Dafür habe ich ein "return false;" eingebaut.
Dies bringt aber nichts. Er ruft trotzdem die neue Seite auf und bekommt dann einen SQL Fehler, da die Werte nicht stimmen.
wieso prüfst Du die Eingaben nicht Serverseitig _bevor_ Du sie in eine Datenbank schreibst? Wenn was nicht stimmt, gehts per Link und Beschreibung was falsch war zurück auf die Eingabeseite. JS ist evtl. als "nice to have"-Lösung interessant, um bei jedem Eingabefeld direkt zu prüfen ob die Eingabe konform ist und entsprechende Fehler-/Korrekturmeldungen erscheinen zu lassen.
Hallo, Jörg,
wo hast Du denn das "return false" eingebaut. Es muß ins onSubmit im Form-Tag ...
Grüße,
Sebastian
Hallo,
wenn du die ganze Abfrage über JavaScript laufen lassen willst, darfst du nicht einfach einen Submit Button machen, denn der sendet auch ohne JavaScript auf jeden fall ab.
Mach einen normalen Button (<input type="button" />) und rufe beim Klick auf ihn deine Testfunktion auf. Ist der Test erfolgreich übermittelst du das Formular mit "formularname.submit();".
Es ist allerdings besser diese Abfrage Serverseitig vorzunehmen, da nicht vorausgesetzt ist, dass JavaScript im Browser aktiviert ist. In diesem Falle wäre das Senden auch gar nicht möglich.
MfG