2012-11-12 110 views
0

我想提醒所選單選按鈕的值,但我總是得到他們的第一個,無論我選擇哪一個...(Acompanhado);getelementbyid問題與單選按鈕

HTML:

  <form/> 

      <input type="radio" class="simple_form" name="grupo_1" value="Acompanhado" id="saida"/> 
      <span class="texto">Acompanhado</span> 
      <input type="radio" class="simple_form" name="grupo_1" value="Individual" id="saida"/> 
      <span class="texto">Individual</span> 
      </form> 

JS:

  function save() { 
     var saida_js = document.getElementById('saida').value; 
     alert("Tipo de saida: " + saida_js); 
      } 

任何想法?


@Quentin:我有很多的警報,原因我試着從表單得到的所有數據。我使用了你的代碼,而且我根本沒有任何警覺。

function save() { 
    var morada_js = document.getElementById('morada').value; 
    var data_js = document.getElementById('data').value; 
    var hora_js = document.getElementById('hora').value; 

    var radio_saida = document.getElementsByName('name_saida'); 

    var notas_js = document.getElementById('notas').value; 
     var condicoes_atm_js = document.getElementById('condicoes_atm').value; 


    alert("Morada: " + morada_js); 
    alert("Data: " + data_js); 
    alert("Hora: " + hora_js); 

     function get_checked_radio(radio_saida) { 
     for (var i = 0; i < radio_saida.length; i++) { 
      var current = radio_saida[i]; 
      if (current.checked) { 
       return current; 
       } 
      } 
     } 

    alert(get_checked_radio(radio_saida).value); 
    alert("Notas: " + notas_js); 

} 
+0

ID標籤必須是唯一的。您可以在每個元素上具有相同但不是ID的類名。 –

回答

2

2個input標籤的id必須在文檔中是唯一的。

要找到一個選定的單選按鈕的值在一組,由它的名字拿到小組第一...

var radios = document.getElementsByName('radio_name'); // or 
var radios = document.forms.formId.elements.radio_name; 

然後遍歷它們,直到找到一個與真實checked財產。

function get_checked_radio(radios) { 
    for (var i = 0; i < radios.length; i++) { 
     var current = radios[i]; 
     if (current.checked) { 
      return current; 
     } 
    } 
} 

alert(get_checked_radio(radios).value); 
+0

我明白了,但現在我無法做出循環。我正在嘗試使用for循環,但它缺少一些東西... –

+0

@NelsonSilva - 我完全不知道爲什麼你沒有看到我的代碼不工作。 – Quentin

+0

我有很多警報,導致我試圖從窗體中獲取所有數據。我使用了你的代碼,而且我根本沒有任何警覺。 –

0

有道理的,因爲你有使用相同的ID saida