send false -> submittet trotzdem?!
priap
- javascript
Hallo, folgendes Probelm:
hab eine validate() function, die mir wie der name sagt einige felder kontrolliert. Beim testen hats aba net gfunkt :-(
hab die function dann soweit abgespeckt dass nur noch
function validateTimePlan() {
return false;
}
überbleibt, aufgerufen vom form tag:
<form method="GET" name="plan" onsubmit="validateTimePlan()" action="...
und trotzdem wird das formular versendet!?
die function wird aufgerufen, denn bei
function validateTimePlan() {
alert("Scheissdreck");
return false;
}
funktionierts genauso, nur dass ich zerst eben ein popup seh,...
irgendeine idee?
Hallo
<form method="GET" name="plan" onsubmit="validateTimePlan()" action="...
Kannst es ja schon vorher kontrollieren und abfangen.
Mach beim Submit Button einen onMouseDown Event, das funktioniert!
Mit freundlichen Grüsse,
beinaendi
Jep thx funkt!, vasteh aber nicht warum die andre variante nicht möglich is? i mein, problem is gelöst, aba neugier is noch da :-)
Hallo
Jep thx funkt!, vasteh aber nicht warum die andre variante nicht möglich is? i mein, problem is gelöst, aba neugier is noch da :-)
Funktioniert darum nicht, weil du einfach ein false setzt, aber wohin? Du müsstes die Funktion auf den Event aufrufen validate(event)...
Sonst läuft ja einfach nur eine Funktion. Wenn das anders wäre könntest du ja keine Funktion einsetzen, die für irgendwelche andere Zwecke ein false zurück gibt!
Mit freundlichen Grüsse,
beinaendi
Hi
Mach beim Submit Button einen onMouseDown Event, das funktioniert!
Und wenn ich das Formular mit der Enter-Taste absende?
Gruss,
Daniel
Hallo
Und wenn ich das Formular mit der Enter-Taste absende?
Dann gehörst du zu den 0,01%. ;-) Hast schon recht, Lösung dafür hab ich bereits geschrieben - Event.
Könnte man aber bei der anderen Lösung immer auch noch mit onKeyPress machen.
Mit freundlichen Grüsse,
beinaendi
Hallo
Und wenn ich das Formular mit der Enter-Taste absende?
Dann gehörst du zu den 0,01%. ;-)
Das glaubst du aber nicht im Ernst, oder? Ich würde mal sagen, dass jeder, der mal festgestellt hat, dass sich Formulare mit Tabulator und Enter-Taste auch ohne Maus bedienen lassen, von dieser Möglichkeit Gebrauch macht. Oder sehe ich das falsch?
Gruss,
Daniel
Hallo
Das glaubst du aber nicht im Ernst, oder? Ich würde mal sagen, dass jeder, der mal festgestellt hat, dass sich Formulare mit Tabulator und Enter-Taste auch ohne Maus bedienen lassen, von dieser Möglichkeit Gebrauch macht. Oder sehe ich das falsch?
Dahinter steht folgender Gedanke bzw. folgende Erfahrung.
Submit wird zum absenden verwendet, sagt ja auch schon die Übersetzung.
Und erfahrungsgmäss passiert es viel zu schnell, dass jemand beim Focus auf dem "falschen" Element mal Enter drückt.
Also sehe ich nur 2 sinnvolle Möglichkeiten um nicht ständig Müll gesendet zu bekommen. Entweder muss der User anschliessend noch einmal bestätigen, ob er die eingegebenen Daten wirklich senden will und diese korrekt sind oder eben er muss explizit auf den Button klicken, denn sowas passiert wohl so gut wie nie aus Versehen. Das ist zwar nur meine persönliche Ansicht der Sache, aber vielleicht ist es dir schon aufgefallen, dass die Eingabe mit Enter nicht überall funktioniert. Das hat genau diesen Grund!
Mit freundlichen Grüsse,
beinaendi
Hallo
Das ist zwar nur meine persönliche Ansicht der Sache,
Genau. Und ich habe eine andere ;-)
aber vielleicht ist es dir schon aufgefallen, dass die Eingabe mit Enter nicht überall funktioniert. Das hat genau diesen Grund!
Entweder diesen, oder aber Unvermögen des Programmierers in der Hinsicht, dass er das Absenden des Formulares mit Prüfung auf Submitbutton-Klick ermittelt, dies aber eigentlich gar nicht will. Ich vermute mal, dass dieser Grund genauso verbreitet ist.
Vielleicht hat jemand Erfahrungswerte, wie häufig Formulare mit Enter abgeschickt werden?
Gruss,
Daniel
Hallo
Entweder diesen, oder aber Unvermögen des Programmierers in der Hinsicht, dass er das Absenden des Formulares mit Prüfung auf Submitbutton-Klick ermittelt, dies aber eigentlich gar nicht will. Ich vermute mal, dass dieser Grund genauso verbreitet ist.
Ich hoffe du hast anhand meiner anderen Antworten erkannt, dass es bei mir nicht um Unvermögen handelt! ;-)
Wenn du es mit Enter und ohne 2. Bestätigung machst wirst du viel Müll bekommen, das ist glaub ich meinungsunabhängig.
Mit freundlichen Grüsse,
beinaendi
hallö ins forum,
Das glaubst du aber nicht im Ernst, oder? Ich würde mal sagen, dass jeder, der mal festgestellt hat, dass sich Formulare mit Tabulator und Enter-Taste auch ohne Maus bedienen lassen, von dieser Möglichkeit Gebrauch macht. Oder sehe ich das falsch?
meiner erfahrung nach siehst du das (merkwürdigerweise) wirklich falsch. ohne nouse sind die meisten user aufgeschmissen, während einige wenige unruhig werden, wenn sie mit der tastatur nicht weiterommen... wie du und ich auch ;-)
aber grundsätzlich mal: geht diese wenig elegante lösung nicht völlig an priaps ursprünglicher frage vorbei? das prob war doch die nicht-übergabe des return.
der entscheidende teil liegt im onSubmit. die funktion ist sonst fehlerfrei. (steht ja auch nix drin ;)
grüße aus Leipzig
willie.de
Hi,
<form method="GET" name="plan" onsubmit="validateTimePlan()" action="...
durch Rückgabe eines boole'sch falschen Wertes _aus einem Event-Handler heraus_ wird die mit dem Event verknüpfte Aktion unterbunden.
und trotzdem wird das formular versendet!?
Dein Event-Handler gibt nichts zurück.
function validateTimePlan() {
alert("Scheissdreck");
return false;
}
Dein Event-Handler gibt dies nicht zurück.
Cheatah
Guck doch mal da:
http://selfhtml.teamone.de/javascript/beispiele/formulareingaben.htm
Ich hoffe ich hab richtig verstanden was du vor hast!
<form method="GET" name="plan" onsubmit="validateTimePlan()" action="...
muss heissen: <form method="GET" name="plan" onsubmit="return validateTimePlan()" action="...
auf das return im onsubmit kommt's an.
dann geht's