Eingabefelder mit Submit Buttons verbinden

  • 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:

    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

  • Danke für die Antwort, aber ich habe viele Sachen getestet, und nichts führte zu einem brauchbaren Ergebnis, zumindest nicht solang man das Problem nicht mit eigenem JavaScript-Code lösen will.

    Ich habe dann letzteres getan, also eine JavaScript-Lösung für dieses Problem geschrieben. Als erstes wird jeder Druck auf ENTER abgefangen und abgebrochen, so dass die Seite an sich quasi nicht mehr auf ENTER reagiert. Als nächstes habe ich eine Funktion geschrieben, die von Texteingabefeldern als onkeydown-Event mit einem Buttonnamen als Parameter aufgerufen wird. Die Funktion testet, ob die gedrückte Taste ENTER war und wenn ja, dann wird der angegebene Button gedrückt.

    Somit kann ich nun jedem Textfeld einen eigenen Button zuweisen, der bei ENTER aktiviert wird. :)

    (muss noch dazu sagen, dass ich das ganze in einem Servlet verwende)