PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [JS] Formular bedingt ausfuehren.



nul
27-11-2005, 16:34
Ich steh moment im Wald und weiss nicht mehr wohin.
Ich hoff ihr koennt mir helfen!

Ich habe im Prinzip ein Formular, mit input Elementen. Jetzt moechte ich aber befor das Formular uebermittelt wird ein Javascript ausfuehren.
Das Problem liegt jetzt darin, dass das Formular auch uebermittelt wird, wenn in einem <input ..> Element z.B. die Enter-Taste gedrueckt wird. Da soll natuerlich auch zuerst das JS ausgefuehrt werden.
Hat jemand ne Idee wie man abfragen kann, mit welcher Taste oder durch welches Event der Curser das Textfeld verlassen hat?

mfg

P.S.: Fast vergessen, das Skript soll verhindern, dass bei falscher Eingabe das Formular uebermittelt wird. Will heissen onSubmit funktioniert, jedenfalls so wie ichs verwende ueberhaupt nicht. Sollte die ausfuehrung vom Form nicht stoppen wenn man false zuruckliefert?

nEox
27-11-2005, 18:15
Hallo nul,


P.S.: Fast vergessen, das Skript soll verhindern, dass bei falscher Eingabe das Formular uebermittelt wird. Will heissen onSubmit funktioniert, jedenfalls so wie ichs verwende ueberhaupt nicht. Sollte die ausfuehrung vom Form nicht stoppen wenn man false zuruckliefert?
warscheinlich hast du das return vor dem Funktionsaufruf vergessen:


<form onsubmit="return myFunction()" ...>

Grüße,
nEox

nul
27-11-2005, 22:55
Ja das wars, aber wieso muss man den Return-Wert der Funktion noch mal zurueckgeben? Find ich irgendwie komisch ...

Danke fuer die hilfreiche Antwort!!!!

mfg

ClausVB
28-11-2005, 13:59
Ja das wars, aber wieso muss man den Return-Wert der Funktion noch mal zurueckgeben? Find ich irgendwie komisch ...

"onsubmit" ist ein Eventhandler (http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onsubmit), der (so verstehe ich das) nicht mit
onsubmit="true"
aufgerufen werden muss, sondern selbst einen Returnwert haben muss, nämlich
onsubmit="return true".

Kann aber auch sein, dass ich da falsch liege.

Gruß
Claus

BlueJay
29-11-2005, 11:02
Ruft man per onsubmit eine Javascript-function auf, returnt die erst mal nix an den Event-Handler weiter, sondern gurkt nur die Function ab.

Damit der Handler den Rückgabewert mitbekommt und dementsprechend reagiert, braucht es das return davor.

so long,
BlueJay