2013-07-26 35 views
0
<input id="tid" type="radio" name="t" value=""> 
    <label for="tid"> 
     Technology</label> 

    <input id="sid" type="radio" name="t" value=""> 
    <label for="sid"> 
     Science</label> 
    <asp:Button runat="server" ID="btn" Text="Submit" OnClientClick="return xyz()" /> 


<script> 
     function xyz() { 

      var x = document.getElementsByName("t"); 
      var isChecked = false; 
      var message = ""; 
      for (var i = 0; i < x.length; i++) { 

       if (x[i].checked) { 

        isChecked = true; 
        message = x[i].nextSibling().innerHTML; 
        alert(message); 
        break; 
       } 

      } 

      if (isChecked == false) { 
       alert("Select"); 

      } 

      return false; 



     } 

我無法獲取文本警告框;爲什麼NextSibling方法在這裏不起作用? getelementbyname是否也獲得與單選按鈕關聯的標籤?或者它會得到只有單選按鈕的數組?我不想使用值域..thk ...JavaScript中的HTML Radiobutton驗證問題

+2

其屬性不是函數。使用'message = x [i] .nextSibling.innerHTML;' – mohkhan

+0

對不起,我收到未定義的消息..任何想法。 – Pearl

回答

0

nextSibling是屬性而不是函數。用的是這樣的:

message = x[i].nextSibling.innerHTML;

你越來越不確定的原因是因爲沒有innerHTML persent的單選按鈕。如果你想檢索存儲在<label>標籤的價值,你需要設置爲標籤文本的單選按鈕的值,然後使用值屬性: HTML:

<input id="tid" type="radio" name="t" value="tech"> 
    <label for="tid"> 
     Technology</label> 
<input id="sid" type="radio" name="t" value="science"> 
<label for="sid"> 
    Science</label> 

的Javascript:

for (var i = 0; i < x.length; i++) { 
      if (x[i].checked) { 
       isChecked = true; 
       message = x[i].value; 
       alert(message); 
       break; 
      } 

     } 
1

工作演示http://jsfiddle.net/cse_tushar/Pv6EJ/

nextSibling()是錯誤的

使用

message = x[i].nextSibling.innerHTML; 

這樣稱呼你嗎

onclick="xyz()"; 

javascript函數不

OnClick="return xyz()" 
+0

對不起,我正在收到未定義的消息..任何想法.. – Pearl

+0

現在檢查答案...! –

+0

他在'onClientClick'而不是'onClick'。 – Aashray

0

nextSibling是屬性不是一個功能,而不是nextSibling使用nextElementSibling因爲nextSibling將返回文本節點

message = x[i].nextElementSibling.innerHTML; 
0

試試這個小提琴test link with your example

更改此

message = x[i].nextSibling().innerHTML; 

message = x[i].nextSibling.nextSibling.innerHTML; 

希望它能幫助。 乾杯