Reputation: 1418
This is my code:
<script>
function myFunction() {
var x;
x = document.getElementById("numb2").value;
document.write(x);
}
</script>
***
<body>
<form>
<input id = "numb2" value = "Male" type="radio">Male
<input id = "numb2" value= "Female" type="radio">Female
</form>
</body>
The problem is that I'm getting 'Male' whatever I choose.
Upvotes: 1
Views: 38
Reputation: 1
first you must add the radio buttons in a group, you can do that with the attribute "name". Let me show you how to do that.
<input type="radio" name="groupRadio" value="male">Male
<input type="radio" name="groupRadio" value="female">Female
Upvotes: 0
Reputation: 6414
Check this fiddle:
<form>
<input name='sex' value = "Male" type="radio">Male
<input name='sex' value= "Female" type="radio">Female
</form>
You must use name property to achieve this functionality and loop over all elements to check which radio element is selected, as shown in below code.
function myFunction() {
var value = "NONE";
var elems = document.getElementsByName("sex");
for(var i = 0; i < elems.length; i++) {
if(elems[i].checked) {
value = elems[i].value;
break;
}
}
alert(value);
}
Upvotes: 1
Reputation: 782653
First, you need to create a button group by giving both buttons the same name
. Then you can use querySelector
to select the chosen element and get its value.
function myFunction() {
var val = document.querySelector("[name=numb2]:checked").value;
document.getElementById("output").innerHTML = val;
}
document.getElementById("button").addEventListener("click", myFunction);
<input name = "numb2" value = "Male" type="radio">Male
<input name = "numb2" value = "Female" type="radio">Female
<div>
Chosen: <span id="output"></span>
</div>
<button id="button">Click</button>
Upvotes: 1