2012-11-27 156 views
0

HTML代碼: -訪問單選按鈕值

<input type="radio" name="radio" id="radio" value="1" onclick="validate()"> For Yourself</input> </p></br> 
    <p> 
    <input type="radio" name="radio" id="radio" value="2" onclick="validate()"> For Users</input> 
    </p> 

和JavaScript代碼: -

function validate() 
    { 
     var btn_value=document.getElementById("radio").value; 
     if(btn_value==true) 
     { 
      alert(btn_value); 
     } 

    } 

現在,每當我試圖打印的單選按鈕的值。它總是打印值爲1

所以,現在我不明白到底我失去了什麼這裏...

Thanx提前對您有所幫助。

+3

你只能有一個具有特定ID的元素。 'document.getElementById'通常會以文檔順序得到第一個,儘管這種行爲是未定義的。 –

回答

2

元素ID應該是唯一的。我修改你的HTML和JS部分並檢查以下

試試這個

HTML

<p> 
    <input type="radio" name="radio" id="radio1" value="1" onclick="validate(this)"> For Yourself</input> </p></br> 
<p> 
    <input type="radio" name="radio" id="radio2" value="2" onclick="validate(this)"> For Users</input> 
</p> 

JAVASCRPIT

function validate(obj) 
    { 
     var btn_value=obj.value; 
     if(btn_value==true) 
     { 
      alert(btn_value); 
     } 

    } 
+1

感謝名單MUTHU庫馬蘭 –

0

試試這個

<input type="radio" name="radio" id="radio" value="1" onclick="validate(this)"> For Yourself</input> </p></br> 
<p> 
<input type="radio" name="radio" id="radio" value="2" onclick="validate(this)"> For Users</input> 
</p>​ 

function validate(ele) 
{ 
    alert(ele.value); 
}​ 
+0

感謝名單Pragnesh肖漢... –

0
  1. ID必須是唯一的,這是一個錯誤給它相同的ID。
  2. ,您可以給ID的流水號( - 收音機1,第二廣播電臺等),依次通過它們來檢查選擇哪一個。
+0

我嘗試同樣的...但仍然是相同的輸出 –

+0

看看@傻傻的回答似乎是你需要什麼 – NinaNa

1

首先是從來沒有在你的HTML使用DOMID兩次! 刪除它們....只使用公佈的名稱!

<input type="radio" name="radio" value="1" onclick="validate()"> For Yourself</input> </p></br> 
<p> 
<input type="radio" name="radio" value="2" onclick="validate()"> For Users</input> 
</p> 

與js檢查每個元素的名稱屬性!

function validate() { 
    var elements = document.getElementsByName("radio"); 
    for(var n = 0; n < elements.length; n++) { 
     if(elements[n].checked === true) { 
      alert(elements[n].value); 
     } 
    } 
} 

,如果你用你的驗證方法只在onclick你可以通過一個DOMElement在驗證梅索德這樣的:

<input type="radio" name="radio" value="1" onclick="validate(this)"> For Yourself</input> </p> 

和您的JS:

function validate(domElement) { 
    if(domElement.checked === true) { 
      alert(elements[n].value); 
     } 
}