• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zweites Textfeld im Formular verhindert Abschicken

michaelp

Neues Mitglied
Hallo zusammen,

ich habe ein Problem mit einem Formular, dazu erst mal der Code:

Code:
<form method="get" action="search.php">
<input name="term" type="text" maxlength="50" style="width:322px">
<a id="a1" href="#" onclick="menuexpand('div1');return false;">Options</a>
<div id="div1">
<table id="table">
<tr><td class="table_left">criteria 1</td><td class="table_right">[COLOR=Red]<input name="author" type="text" maxlength="50" style="width:206px">[/COLOR]</td></tr>
<tr><td class="table_left">criteria 2</td><td class="table_right"><select name="pub_type" style="width:210px"><option value="1">type 1<option value="2">type 2<option value="3">type 3</select></td></tr>
</table>
</div>
</form>
Normalerweise kann man ein Formular ja per Enter abschicken. Das rot markierte Inputfeld verhindert dies allerdings in meinem Falle. Sobald ich es auskommentiere, funktioniert wieder alles wunderbar. Wenn ich alternativ einen Submit-Button mit <input type="submit"> in's Formular setze, kann ich wieder per Enter abschicken und habe ehrlich gesagt keine Ahnung wieso. Ich wollte das Formular eigentlich ohne submit-Button gestalten, irgendwie muss das doch gehen. Hab' schon fleißig gegoogelt aber kein einziger Treffer brachte mich darauf, warum das Formular durch Hinzufügen des zweiten Textfeldes nicht mehr per Enter abgeschickt werden kann.

Ich hoffe dass jemand die Antwort weiß und danke daher schon einmal für die Hilfe.

Gruß, Michael P.

Edit: Ich weiß, dass man den Button per display:none verstecken kann, das ist ja allerdings nicht die tatsächliche Lösung des Problems.
 
Zuletzt bearbeitet:
Ich weiß auch keine Begründung, warum sich der Browser (bei mir Firefox, andere nicht getestet) dort so verhält, wie er sich verhält. Aber ich bekomme es auch nur über den versteckten Submit-Button hin.

Insgesamt würde ich so vorgehen: Form mit Submit-Button erstellen, diesen onload per JavaScript entfernen und bei den Formularelementen entsprechende JavaScript-Handler einklinken, die das Absenden der Form beim Druck von Enter erledigen. So hast du eine jeweils funktionierende Form mit Button für Leute ohne JS und eine ohne Button für Leute mit. Um in beiden Fällen die gleiche URL zu erhalten, könntest du bei der JS-Lösung noch einen Hidden-Input hinzufügen, dessen Name und Value mit dem des entfernten Submitbuttons identisch ist.

Diese Lösung dürfte auch barrierefreier sein.
 
Zurück
Oben