Christian Otteneuer <chotty (AT) freenet (DOT) de> typed:
Quote:
In einem Kontakt-Formular soll mit Radio-Buttons zwischen
verschiedenen Optionen gewählt werden, wobei eine Option davon per
Textfeld angegeben werden soll. Meine Buttons sehen also bisher so
aus: [...]
1. Wenn in das Textfeld geklickt wird, soll automatisch der dritte
Radio-Button aktiviert werden. |
Sinnvoll ist, bei einem Textfeld nicht auf einen Klick zu reagieren,
sondern auf den Erhalt des Fokus. Nicht jedes System besitzt und
nicht jeder User benutzt ein Zeigegerät mit Klickvorrichtung, vulgo
Maus. Bei den Radio-Elementen im Beispiel unten erfolgt hingegen ein
Click-Event auch bei Navigation per Tastatur.
<... onfocus="...checked=true">
Quote:
2. Als Value des dritten Radio-Buttons soll der im Textfeld
eingetippte Inhalt übergeben werden. |
Diese erledigst Du eigentlich besser serverseitig (dort wertest Du
die Daten doch wohl ohnehin aus), somit bliebe das Formular auch
für Benutzer ohne oder mit deaktiviertem JS benutzbar. Nur des
lerneffekts wegen daher dies:
<... onblur="...value=this.value>
Insgesamt bspw. so:
<form action="">
<input type="radio" name="information" value="aboutMyCity" checked
onclick="var o=this.form.elements.Textfeld; o.value=o.defaultValue"
Quote:
Informationen über meine Stadt<br
input type="radio" name="information" value="aboutMyCountry"
|
onclick="var o=this.form.elements.Textfeld; o.value=o.defaultValue"
Quote:
Informationen über meine Heimat<br
input type="radio" name="information" value=""
|
onclick="var o=this.form.elements.Textfeld; o.focus(); o.select()"
Quote:
input type="Text" name="Textfeld" value=""
onfocus="this.form.elements.information[2].checked=true"
|
onblur="this.form.elements.information[2].value=this.value"
Quote:
br
input type="submit" value="Abschicken"
|
</form>
ciao, dhgm