Bei mir hat's dann nämlich erst geklappt, wie ich's auch in den Abschick-Link geschrieben habe, und da auch nur als "onclick = 'return Validiere();'". o_O' Heißt das, ich habe mich bloß irgendwo vertippt, oder kann's sein, dass das noch unzureichend implementiert ist?
...
Abschick-Link?
Ich glaube nicht, dass es an der Implementierung liegt, Prüfungen wie diese sind eigentlich Ur-JavaScript.
Habe schnell getestet: Opera (9.1), Firefox (1.5) und Internet Explorer 7 rufen Validate() auf bei <botton type="submit"> und <input type="submit" />.
Alle drei senden das Formular ohne Prüfung, wenn das Formular über einen Verweis (href und onclick) per submit() abgesendet wird.
Ich denke der Fehler lag bei dir.
onsubmit="return Funktion();" in <form>. Die Funktion muss entweder true oder false zurückgeben. Ausgewertet wird dabei nur das erste return der Funktion. Hast du also zuerst return true; gesagt und revidierst das später in der Funktion zählt dennoch true.
(War das verständlich?^^)
Zitat
Ich kenne mich auch nicht so gut mit JS aus, aber kann sein, dass es sowas wie "element.onclick = '...'" gibt. Inwieweit das aber standardkonform ist, weiß ich nicht, bei SelfHTML z.B. steht nichts davon.
...
Ich habe vor kurzem im SELFHTML-Forum von window.onload = x; gelesen, aber ich verbreite ungern Teilinformationen.
Ich denke der Fehler lag bei dir.
onsubmit="return Funktion();" in <form>. Die Funktion muss entweder true oder false zurückgeben. Ausgewertet wird dabei nur das erste return der Funktion. Hast du also zuerst return true; gesagt und revidierst das später in der Funktion zählt dennoch true.
...
Das ist mir schon klar, ganz bescheuert bin ich auch nicht. Allerdings bin ich anscheinend teilweise bescheuert, da ich's wirklich per Link "form.submit ()" gemacht habe und dachte, da wird das trotzdem überprüft. :-/
Naja, ich habe dann halt einfach gleich die Prüf-Funktion in den Link geschrieben und ein Submit an ihr Ende, so ging's.
Und jetzt bin ich wieder gescheiter. ^^
Zitat
Ich habe vor kurzem im SELFHTML-Forum von window.onload = x; gelesen, aber ich verbreite ungern Teilinformationen.
...
Ist auch besser so, ich kann da wie gesagt auch nicht helfen. Und solange das nirgends steht, kann wohl auch keiner verlangen, dass du die HTML/JS-Trennung so weit treibst.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Ereignisse eines Element kann man mithilfe von der Methode addEventListener() abfangen:
Im Internet Explorer funktioniert es mit der Methode attachEvent():
Es gibt auch die Möglichkeit, den Elementen direkt über Attribute die Handler zuzuweisen:
Die Namen entsprechen die den HTML Attributen bis auf die Tatsache, dass sie klein geschrieben werden.