Aktualisieren der Visibility erst nach "verlorenem" Fokus

Amrun

Grünschnabel
Hallo,

meine jsp-seite soll auf Grund von einer checkbox eine Combobox anzeigen oder nicht. Die entsprechende js-funktion schaut folgend aus:

Code:
function setVisibility() {
     obj_checkbox = document.getElementById("showSpecial");
     if(obj_checkbox.checked) { 
        document.getElementById("cbSpecial").style.visibility = "visible";
        document.getElementById("visible").value = true;
     }
     else { 
	document.getElementById("cbSpecial").style.visibility = "hidden";
	document.getElementById("visible").value = false;
     }
    }

Das Problem ist jedoch, dass die Aktualisierung erst dann passiert, wenn ich nachdem ich die Checkbox aktiviere bzw. deaktiviere woanders hin clicke. Dh. ich aktiviere die Checkbox, clicke auf eine beliebige Stelle auf der Seite und die Combobox erscheint (jedoch einen Click zu spät). Das selbe Szenario findet sich in der umgekehrten Reihenfolge (also beim hidden setzen der Combobox).
Weiß irgendwer warum dieses Problem auftritt?
Danke für eure Hilfe!
lg Amrun
 
Mit welchem event löst du denn die Funktion setVisibility() aus? Normalerweise müsste es so gehen:
HTML:
<input type="checkbox" onclick="
  	document.getElementById('cbSpecial').style.visibility = this.checked 
  		? 'visible' 
  		: 'hidden';
  " />
 
Zuletzt bearbeitet:
Tut mir leid, das hab ich ganz vergessen. Ich arbeite mit Struts und der Aufruf sieht folgendermaßen aus:
Code:
 <html:checkbox property="showSpecial" value="yes" onchange="setVisibility();">Show Special Vendors</html:checkbox>

lg Amrun
 
Dein Codeschnipsel ist sicherlich sehr hilfreich, jedoch brauch ich die Funktion um mit meiner Action-Klasse zu "kommunizieren" - trotzdem danke! :)
Werde den Task als erledigt markieren lassen. Danke für den Tipp!
lg Amrun
 
Zuletzt bearbeitet:
Zurück