Hoi!

Ik ben bezig om een formulier te maken dat bestaat uit een <fieldset> waar mensen de inloggegevens kunnen invullen en een tweede <fieldset> waar mensen eventueel geavanceerde opties kunnen instellen (herinner mij / type gebruiker...). Nu wil ik de laatste fieldset dynamisch kunnen verbergen en tevoorschijn halen en daar heb ik het volgende scriptje voor geschreven in javascript.


function hideCollapseLoginSettings(login){
	if(login.loginSettingsStatus.value== 'hidden'){
		document.getElementById('loginSettings').style.display='block'
		login.loginSettingsStatus.value= 'visible'
	}
	if(login.loginSettingsStatus.value== 'visible'){
		document.getElementById('loginSettings').style.display='none'
		login.loginSettingsStatus.value= 'hidden'
	}
}


De bovenstaande code werkt dus niet. Heeft iemand enig idee wat het probleem is?

Bij voorbaat dank!
wat staat er in loginSettingsStatus? Set je die in het begin - als de pagina geladen word - wel met 'visible' of 'hidden'? O en je kijkt: Is hij hidden? Dan zorg ik dan laat ik hem niet zien. Kun je hem zien? Dan laat ik hem zien. Je verandert dus niets. visible en hidden moeten dus ook andersom ;)

Trouwens, volgens mij kun je het ook zo doen:


function hideCollapseLoginSettings(login){
    if(document.getElementById('loginSettings').style.visibility == 'visible'){
        document.getElementById('loginSettings').style.visibility = 'hidden';
    }
    else {
        document.getElementById('loginSettings').style.visibility = 'visible';
    }
} 


Ik heb alleen hierboven visibility gebruikt i.p.v. display, dit kun je dan nog veranderen ;)
Hee Miloan,

Ik hen nu ipv mijn script jou scriptje gebruikt en nu werkt het goed!

Om nog even te antwoorden hop je vraag: Als de pagina wordt geladen is de fieldset hidden. Dan kunnen mensen daarna eventueel kiezen of ze het 'advanced menu' willen zien.

Hartstikke bedankt!

Reageren