2013-04-21 28 views
0

我目前擁有這種形式,我試圖在檢查時獲取單選按鈕的值,但是我一直持續出現錯誤,下面的代碼可能存在什麼問題?檢查後在表單中找到收音機的值? Javascript DOM

HTML

<form name="radioset2" id="radioset2" action="survey.html"> 
    <fieldset> 
    <span class = "question"> question1 </span> 
     <div id = "radio1"> 
      <label for="r_q1_id">Yes</label> 
      <input id="r_q1_id" type="radio" name="r_q1_name" value="yes" /> 
     </div> 
     <div id = "radio2"> 
      <label for="r_q2_id">No</label> 
      <input id="r_q2_id" type="radio" name="r_q1_name" value="no" /> 
     </div>          

     </fieldset> 
    </form> 

的JavaScript

function validRadio() { 
var radio_buttons = document.getElementsByName.elements['r_q1_name']; 
for(var x=0; x<radio_buttons.length; x++) { 
    if(radio_buttons[x].checked) { 
    alert(radio_buttons[x].value + " button is checked"); 
    } else { 
    alert(radio_buttons[x].value + " button is not checked"); 
     } 
    } 
    return false; 
} 
+0

觀看語法高亮密切... – elclanrs 2013-04-21 20:09:41

+0

'document.getElementsByName.elements'? https://developer.mozilla.org/en-US/docs/DOM/document.getElementsByName – Musa 2013-04-21 20:10:29

+0

關閉報價,如果它沒有錯字:'+「按鈕被選中」);' – 2013-04-21 20:14:09

回答

0

如果您靶向現代的瀏覽器,你可以簡單地使用與querySelector功能:checked CSS選擇器來獲取覈對輸入的值。這將消除循環輸入的需要。

http://jsfiddle.net/4uy2V/

var val = document.querySelector('[name=r_q1_name]:checked').value; 
+0

我試着用這種方法,但突然之間,所有的我的JavaScript停止工作 – iplayjumanji2 2013-04-21 23:51:50

+0

@ iplayjumanji2,你使用的瀏覽器是什麼?控制檯是否給你任何錯誤? – plalx 2013-04-22 12:25:33

相關問題