Antje Hofmann: Formulareingabe

Beitrag lesen

Hallo Ingrid

Wenn man die Zahl eingegeben hat und auf den Button klickt, dann startet eine
Funktion, die mir die Karte im gewünschten Massstab darstellt.
Wenn ich nun aber eine Zahl eingebe und anstelle des Buttons einfach 'return'
drücke, dann meldet mir der Browser, dass er die Karte nicht darstellen kann,
weil eine Variable fehlt. d.h. bei 'return' wird irgendeine Stelle der
Applikation aufgerufen, aber sicher nicht meine Funktion.
Was muss ich tun, damit auch bei einem 'return' meine Funktion aufgerufen wird?

Dies ist tatsächlich ein Sonderfall.

Dein Quelltext sieht z.B. so aus:

<form action="" method="" target="">
<input type="Text" name="massstab" value="" size="" maxlength="">
<input type="Submit" name="abschicken" value="Abschicken">
</form>

Klickt der Anwender auf abschicken, dann steht im Querystring z.B.:

?massstab=12&abschicken=Abschicken

Verwendet er Enter zum Abschicken des Formulares, dann steht im Querystring

?massstab=12

Der Submitbutton wird nicht mit übertragen.

Ich würde das Problem nicht mit JavaScript lösen. Löse es serverseitig. Mache dein Programm einfach nur vom Vorhandensein der Variable Massstab abhängig und ignoriere den Abschickenbutton.

Geht dass nicht, dann hast du 2 Möglichkeiten. Entweder du versteckst im Quelltext ein hidden-Feld, welches den Absendebutton simuliert.
<input type="hidden" name="absenden" value="Absenden">

Sollte das Probleme bereiten, dann bleibt nur JavaScript. Passe dazu dieses Script an:

http://selfhtml.org/sfausles/tsfa_tcc.htm#a1

Viele Grüße

Antje