I’m trying to get a function working that hides a label in the form depending on the radio button option selected. Here’s my code so far.
HTML
<form action=""> <input type="radio" id="test" value="first"> first<br> <input type="radio" id="test" value="second"> second<br> <input type="radio" id="test" value="third"> third </form> <label class="hidden">Hide this</label>
Javascript
var rbtn = document.getElementById("test"); var x = document.getElementsByClassName("hidden"); function hidelabel() { if (rbtn == 'third') { x.style.display='none'; } }
Advertisement
Answer
You must fire your hide function after radio button clicked like this:
document.mainForm.onclick = function(){ var radVal = document.mainForm.rads.value; if (radVal == 'third') { document.getElementsByClassName("hidden")[0].style.display = 'none'; } }
ps: document.getElementsByClassName
returns an array. So you cannot use x.style.display='none';
.
Working example: https://jsfiddle.net/5ts0dak4/