Hallo, ich habe folgendes Problem: ich möchte auf einer Seite für unterschiedliche Eingabefelder unterschiedliche Submit-Buttons zum Absenden verwenden. Ich habe beispielsweise drei Eingabefelder mit je einem Button daneben auf der Seite. Allerdings wird bei Druck auf ENTER immer der erste Button ausgewählt, egal in welchem Eingabefeld ich mich befinde, d.h. ich klicke in das dritte Eingabefeld, tippe etwas, drücke ENTER und zum Abschicken wird der erste Button verwendet, nicht der dritte, da der erste für ENTER markiert ist.
Ihr kennt das sicher, wenn man in ein Feld klickt wird der erste Button schwarz markiert, so dass man erkennen kann, dass bei Druck auf die ENTER-Taste dieser Button aktiviert wird. Der Button ist nicht im Fokus, aber schwarz markiert. Wie kann ich diese Markierung für einen Button erreichen, wenn ich in ein Eingabefeld klicke (bzw. das Eingabefeld den Fokus erhält)?
Ein kleines Beispiel:
<html>
<head>
<title>Test</title>
</head>
<body>
<form method="POST" name="form_items">
<input type="TEXT" size="32" maxlength="64" name="input1" value="" onfocus="document.form_items.button1.focus()">
<input type="SUBMIT" name="button1" value="Button 1">
<input type="TEXT" size="32" maxlength="64" name="input2" value="" onfocus="document.form_items.button2.focus()">
<input type="SUBMIT" name="button2" value="Button 2">
</form>
</body>
</html>
Alles anzeigen
Ruft man die Seite auf und klickt in das erste Eingabefeld, dann wird der erste Button in den Fokus genommen. Klickt man in das zweite Eingabefeld, wird der zweite Button in den Fokus genommen (beide Buttons erhalten jeweils auch die schwarze Unterlegung). Natürlich ist die focus()-Methode die falsche Wahl, denn dadurch verliert natürlich das Eingabefeld den Fokus und man kann keinen Text tippen. Gesucht ist hier also eine Methode, die den entsprechenden Button als aktuellen Button markiert, der bei Druck auf die ENTER-Taste aktiviert wird.
MfG,
David