Reputation: 33
I have a problem where I have to click twice in order for my JavaScript function to run.
HTML for the button:
<input type="button" id="logintrigger" value="Log In" onClick="hideshow();"/>
JavaScript:
function hideshow() {
var toggle = document.getElementById('logincontainer');
toggle.style.display = toggle.style.display == "none" ? "block" : "none";
}
I have been searching around and haven't found anything that helped.
Thank You.
Upvotes: 2
Views: 3498
Reputation: 736
Apply style="display:block" explicitly to logincontainer and then change following line : toggle.style.display = toggle.style.display == "block" ? "none" : "block";
Upvotes: 5
Reputation: 2419
The initial state of display property is more likely to be empty. That's why till you explicitly change it - this js function gets "".
Upvotes: 2