walter: <label>, <input> & firefox

hallo!

ich habe in einem suchfeld verschiedene suchmöglichkeiten die durch radiobuttons angewählt werden können. durch einzusätzliches input feld kann der benutzer, dann daten zur suche eingeben. durch die <label> funktion möchte ich diese felder miteinander verbinden, damit die gewünschte möglichkeit sofort ausgewählt wird, sobald man etwas in das entsprechende feld einträgt.
Bsp:
<label>
   <input type="radio" name="searchmode" value="search">
   Stichwörter: <input name="search_str" type="text" id="query" value="">
</label>

mein problem ist folgendes: im internet explorer funktioniert es tadellos, aber im firefox verliert das input feld sofort wieder den focus sobald man die maustaste loslässt. kann man dieses problem irgendie umgehen?

lg
walter

  1. Hallo,

    ich habe in einem suchfeld verschiedene suchmöglichkeiten die durch radiobuttons angewählt werden können. durch einzusätzliches input feld kann der benutzer, dann daten zur suche eingeben. durch die <label> funktion möchte ich diese felder miteinander verbinden, damit die gewünschte möglichkeit sofort ausgewählt wird, sobald man etwas in das entsprechende feld einträgt.

    Nein, dafür ist Label nicht gedacht. Label ist eine Beschreibung für _ein_ Formularfeld. Bei Klick auf die Beschreibung wird der Focus auf das entsprechende Formularfeld gesetzt und Check- und Radioboxen werden an/abgewählt.

    Bsp:
    <label>
       <input type="radio" name="searchmode" value="search">
       Stichwörter: <input name="search_str" type="text" id="query" value="">
    </label>

    Bei Dir ist Label für Das INPUT.type="radio" zuständig. Alles andere, was im Label steht, ist Beschreibung.

    mein problem ist folgendes: im internet explorer funktioniert es tadellos,

    Hm, welcher IE ist das? Kein IE<=6 macht überhaupt etwas mit Label, wenn dieses kein for-Attribut hat.

    aber im firefox verliert das input feld sofort wieder den focus sobald man die maustaste loslässt.

    Siehe oben: works as designed ;-).

    kann man dieses problem irgendie umgehen?

    Das, was Dir vorschwebt, also Radio-Box wird ausgewählt, wenn man in das Textfeld klickt, wird nur mit JavaScript möglich sein.

    viele Grüße

    Axel

    1. danke für die antwort. ich habe mir wohl den sinn von label nicht ganz durchgedacht.
      getestet übrigens mit internet explorer 7 beta 2. da hat microsoft wohl eine etwas eigene interpretation von <label> verwirklicht.

      gruss walter