2015-10-23 8 views
1

Это мой код:Значение радиокнопки

<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> 

Проблема заключается в том, что я получаю «мужской» все, что я выбираю.

+0

ID должны быть уникальными. Если у вас есть дубликаты, 'getElementById' возвращает первый. – Barmar

+0

Радио кнопки сгруппированы по их имени, а не по их идентификатору. – Barmar

+0

Зачем вам ожидать, что 'getElementById' будет заботиться о том, какой из них был выбран? – Barmar

ответ

1

Проверить это fiddle:

<form> 
     <input name='sex' value = "Male" type="radio">Male 
     <input name='sex' value= "Female" type="radio">Female 
</form> 

Вы должны использовать имя свойство для достижения этой функциональности и цикла по всем элементам, чтобы проверить, какое радио элемент выбран, как показано ниже код.

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); 
} 
1

Во-первых, вам нужно создать группу кнопок, указав обе кнопки одинаковыми name. Затем вы можете использовать querySelector, чтобы выбрать выбранный элемент и получить его значение.

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>

0

Сначала вы должны добавить переключатели в группу, вы можете сделать это с помощью атрибута «имя». Позвольте мне показать вам, как это сделать.

<input type="radio" name="groupRadio" value="male">Male 
<input type="radio" name="groupRadio" value="female">Female 
Смежные вопросы