Eventhandler in Auswahlliste
robotnik
- javascript
Hallo,
ich möchte das wenn der Anwender in einer "size=1"-Auswahlliste den "andere" Eintrag selektiert ein Textinput eingeblendet wird.
Ich habe es jetzt sowohl mit "onclick" als auch mit "onselect" und mit "onmousedown" probiert und es funktioniert jeweils in Firefox aber nicht in Chrome, Camino und Safari.
In allen Browsern funktioniert es, wenn ich "size=3" oder ähnliches verwende, das ist aber hässlich. Ausserdem muss es doch gehen, oder muss ich den Umweg über eine "onchange"-Konstruktion gehen?
Dankeschön!
<select name="foreign_language1" size="1" class="full">
<option value="de" onclick="hide('other1')" >Deutsch</option>
<option value="en" onclick="hide('other1')" >Englisch</option>
<option value="gr" onclick="hide('other1')" >Griechisch</option>
<option value="es" onclick="hide('other1')" >Spanisch</option>
<option value="fr" onclick="hide('other1')" >Französisch</option>
<option value="it" onclick="hide('other1')" >Italienisch</option>
<option value="pl" onclick="hide('other1')" >Polnisch</option>
<option value="ru" onclick="hide('other1')" >Russisch</option>
<option value="pt" onclick="hide('other1')" >Portugisisch</option>
<option value="zh" onclick="hide('other1')" >Chinesisch</option>
<option value="jp" onclick="hide('other1')" >Japanisch</option>
<option value="sw" onclick="hide('other1')" >Schwedisch</option>
<option value="no" onclick="hide('other1')" >Norwegisch</option>
<option value="XX" onclick="show('other1')">andere...</option>
</select><div id="other1" style="display:none;"><input name="other1" type="text" class="full" size="20">
Anm. die "show" und "hide" Funktionen funktionieren tadellos!
Hallo,
In allen Browsern funktioniert es, wenn ich "size=3" oder ähnliches verwende, das ist aber hässlich. Ausserdem muss es doch gehen, oder muss ich den Umweg über eine "onchange"-Konstruktion gehen?
Wieso Umweg? Du veränderst den Value der Auswahlliste, also ist onchange der direkte Weg...
vg ichbinich
Hi,
Wieso Umweg? Du veränderst den Value der Auswahlliste, also ist onchange der direkte Weg...
Nur das onchange erst feuert nachdem das input den Focus verloren hat, was zwar durchaus Sinn macht aber meistens nicht der gewünschte Zeitpunkt ist.
~dave
mein problem bei der onchange-nummer ist, das ich dann schnell noch mehr javascript lernen muss und doch schon keine zeit habe.
es ist mir nämlich noch nicht gelungen den ausgewählten wert auszulesen und zu interprtieren, da ja nur bei "anderer sprache" das entsprechende feld eingeblendet werden soll.
Hi,
Wieso Umweg? Du veränderst den Value der Auswahlliste, also ist onchange der direkte Weg...
Nur das onchange erst feuert nachdem das input den Focus verloren hat, was zwar durchaus Sinn macht aber meistens nicht der gewünschte Zeitpunkt ist.
~dave
@@robotnik:
nuqneH
Wozu dient die Sprachauswahl? (Daraus ergeben sich evtl. weitere Hinweise.)
<option value="gr" onclick="hide('other1')" >Griechisch</option>
Das BCP-47-Sprachkürzel für Griechisch ist 'el'.
<option value="jp" onclick="hide('other1')" >Japanisch</option>
Das BCP-47-Sprachkürzel für Japanisch ist 'ja'.
<option value="sw" onclick="hide('other1')" >Schwedisch</option>
Das BCP-47-Sprachkürzel für Schwedisch ist 'sv'.
Qapla'
Danke für den Hinweis!
Aber die Sprachcodes werden erst mal nicht weiter ausgewertet sondern erst am Ende an ein Backendprogramm übergeben, mit dessen Codes sie dann übereinstimmen müssen.