Wenn textfeld leer dann checkbox=cheked!

webpagemaster

Erfahrenes Mitglied
Hallo,

ich habe eine Checkbox die aktiviert werden soll, sobald der Focus in ein Textfeld gesetzt wird.

Wenn der Focus wieder weggenommen wird und es steht ein Text drinnen, soll die Chekbox angehagt bleiben, ansonsten nicht.

Ich habe noch einen vordeffinierten value drinnen stehen...

HTML:
<input type="checkbox" id="4" onfocus="blur()">
<input type="text" style="width:100%" value="Sonstiges" onfocus="javascript: if (this.value=='Sonstiges')this.value='';document.getElementById('4').checked=true" onblur="javascript: if (this.value=='')this.value='Sonstiges';document.getElementById('4').checked=false">
 
Hi,

du musst im onblur-Event die Anweisungen hinter der if-Bedingung in geschweifte Klammern
setzen. Sonst entfernt er den Haken in der Checkbox immer - das soll jedoch nur passieren,
wenn die Bedingung erfüllt ist.
HTML:
<input type="checkbox" id="4" onfocus="blur()"> <input type="text" style="width:100%" value="Sonstiges" onfocus="javascript: if (this.value=='Sonstiges')this.value='';document.getElementById('4').checked=true" onblur="javascript: if (this.value==''){this.value='Sonstiges';document.getElementById('4').checked=false;}">
Würde ein User in diesem Fall "Sonstiges" in das Textfeld eingeben, so wäre dieser Wert
gültig. Soll das nicht sein, kann er mit folgendem Konstrukt ausgeschlossen werden.
HTML:
<input type="checkbox" id="4" onfocus="blur()"> <input type="text" style="width:100%" value="Sonstiges" onfocus="javascript: if (this.value=='Sonstiges')this.value='';document.getElementById('4').checked=true" onblur="javascript: if ((this.value=='')||(this.value.toLowerCase()=='sonstiges')){this.value='Sonstiges';document.getElementById('4').checked=false;}">
Weiterhin würde ich den ID-Namen des Textfeldes z.B. in id_4 ändern, da Bezeichnungen
für IDs laut SelfHTML mit einem Buchstaben beginnen müssen.

Ciao
Quaese
 

Neue Beiträge

Zurück