2013-01-23 84 views
-2

我檢查了重複項,但沒有找到完全相同的問題,所以我們開始吧。我有兩個單選按鈕,我需要在表單提交時返回它們的值。問題是,當我點擊提交按鈕時,我總是得到相同的單選按鈕值。下面是一些代碼:返回單選按鈕的值

<div id="automatic"> 
     <p>Title1 
      <input type="radio" id ="mode" name="mod" value="auto" > 
     </p>   
    </div> 

    <div id="selection"> 
     <p>Title2 
      <input type="radio" id ="mode" name="mod" value="nonauto" > 
     </p>   
    </div> 

    <form id="search" action="test.jsp" method="GET" onsubmit="if (document.getElementById('search_text').value.length < 1) return false;"> 
     <input id="search_text" type="text" name="q"> 
     <input id="searchButton" type="submit" onclick="displayRadio()" value="Search" autocomplete="off" size="115"> 
    </form> 

這裏是Javascript代碼:

function displayRadio() { 
     alert(document.getElementById("mode").value) 
} 
+0

這是無效的HTML代碼,不能有多個具有相同'id'屬性的元素(即'id =「mode」') – freefaller

+0

如果我有不同的id,則單選按鈕不是互斥的了。關於如何實現我的目標的任何建議? – Michael

+0

爲什麼你所有的輸入標籤沒有結束標籤?單選按鈕不能有相同的id值。 'name'屬性可以是相同的,但不是'id'。 – DDK

回答

1

使用不同的ID,並使用您的函數來查找它們中的檢查並返回該值。

function displayRadio() { 
    var modeauto = document.getElementById('modeauto'); 
    var modenoauto = document.getElementById('modenoauto'); 
    var value = modeauto.checked ? modeauto.value : modenoauto.value; 
    alert(value); 
} 

我會推薦使用jQuery來簡化。