Javascript Frage

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

ich mach ja nur ganz selten ein bisschen was mit Javascript, daher bräuchte ich mal kurz eine Erleuchtung, was folgende Kommandos genau bewirken:

HTML:
<form id="emailform"
action="http://foo.domain.bar/e-antwort.html"
method="post"
javascript:onsubmit="return false;">
[... viel HTML ...]
<input type="Submit" value="Email senden"
javascript:onclick="document.getElementById('formular').submit()" />
</form>

Danke im Voraus und Gruß
maceis
 
Beim klicken auf den Submitknopf wird per Javascript das Formular mit der ID "formular" abgeschickt.

Allerdings hat das Formular in Deinem Beispiel die ID "emailform", was mich wundert.
 
Mit anderen Worten. Hier passiert gar nix :confused:
Was hat es für einen Vorteil, das Formular mit Javascript abzuschicken?
Beim Klicken auf den Submit Knopf wird es doch sowieso abgeschickt.

Edit: und noch ne Frage: dieses "return false": Wer empfängt das? der Client oder der Server?
 
Das habe ich mich auch gefragt.
Das würde man z.B machen, wenn man nicht nur das Formular absenden möchte, sondern dan auch noch irgendwas anderes beim submiten auslösen möchte (öffnen eines Popups, oder so).
So richtig viel sinnvolles fällt mir gerade nicht ein. :)

Ausserdem ist die Schreibweise
javascript : onclick="document.getElementById('formular').submit()"
zumindestens aussergewöhnlich. Keine Ahnung ob das erlaubt ist, aber normalerweise würde man einfach schreiben
onclick="document.getElementById('formular').submit();"
.
 
Ich denke, solche Geschichten verwendet man, wenn man eine Validierung per Javascript durchführen möchte.
Wird hier aber nicht gemacht. Ich vermute, das ist in meinem Fall einfach nur ne Altlast.

Bin gerade dabei, eine Site zu validem XHTML Strict umzubauen. Da bin ich darüber gestolpert.
 
Code:
onclick="javascriptdocument.getElementById('formul ar').submit();"

ist auch erlaubt. Aber das andere ist auch ziemlich unsinnig, finde ich.
 
Kleiner Hintergrund noch dazu: Die Notation javascript: in einem Handler scheint überflüssig. Es kann aber sein dass andere Scriptsprachen im Dokument verwendet werden. Wenn z.B. das erst Script-Tag im Dokument ein VBScript ist (<script type="text/vbscript">) werden alle Handler per Default als VBScript inerpretiert. Mit der Notation javascript:foo() kann man dennoch den JS-Interpreter ansprechen.
 
Danke für die Info.
Es ist nur leider so, dass diese Notation offensichtlich kein XHTML Strict ist und deswegen vom Validator bemängelt wird.
 
Ne, ich bezog mich natürlich auf javascript: innerhalb des handlers, also onclick="javascript:...". Die Notation wie Du sie oben gepostet hast ist einfach falsch, da hat der Validator durchaus recht. :)
 
Zurück
Oben Unten