2015-10-07 78 views
0

我想檢索輸入值時檢查值。如何檢索輸入值時檢查值

<input type="radio" name="radioGroup" value="check" /> 
<input type="radio" name="radioGroup" value="wrong" /> 
<input type="radio" name="radioGroup" value="wrong" /> 
<input type="radio" name="radioGroup" value="wrong" /> 
<button>Submit</button> 
腳本我嘗試

var a = document.getElementsByTagName("input").name; 
var btn = document.getElementsByTagName("button"); 
btn.onclick = function() { 
    if (a.checked == true) { 
     console.log(a.value); 
    } 
}; 

我是否需要把一個 「id」 中的每個輸入? 我想要純JavaScript,因爲我已經知道jQuery代碼。

+0

那麼,jQuery的選擇函數是不同於Javascript的,因爲'document.getElementsByTagName'給你一個'NodeList',而不是一個元素。在這一點上不需要'var a = ...'和'var btn = ...',它們也不是正確的。對於按鈕,像document.querySelector('button')'這樣的選擇器更適合,如果那個人是頁面上唯一的按鈕。然後閱讀重複的目標,找出其餘的。 – Xufox

回答

1

您可以使用querySelector()得到檢查元素。此外getElementsByTagName()回報HTMLCollection,所以你需要使用索引來挑選第一個,否則你需要給一個id然後用getElementById()

var btn = document.getElementsByTagName("button")[0]; 
 
// getting first button from HTMLCollection 
 
btn.onclick = function() { 
 
// binding click event handler 
 
    var a = document.querySelector('[name="radioGroup"]:checked'); 
 
    // getting checked checkbox 
 
    if (a) { 
 
    // checking a is defined or not , if not it means no checked buttons are there 
 
    console.log(a.value); 
 
    // logging it's value in console 
 
    } 
 
};
<input type="radio" name="radioGroup" value="check" /> 
 
<input type="radio" name="radioGroup" value="wrong" /> 
 
<input type="radio" name="radioGroup" value="wrong" /> 
 
<input type="radio" name="radioGroup" value="wrong" /> 
 
<button>Submit</button>

0

getElementsByTagName()方法返回具有指定標籤名稱的文檔中所有元素的集合作爲NodeList對象。

NodeList對象表示一組節點。節點可以通過索引號訪問。該指數從0開始

var a = document.getElementsByTagName("input"); 
var btn = document.getElementsByTagName("button"); 
btn[0].onclick = function() { 
    for(var i=0;i<a.length;i++){ 
     if (a[i].checked == true) { 
      console.log(a[i].value); 
     } 
    } 
}; 
0

在按鈕點擊可以使用querySelector,讓您的結果。 以下代碼將有所幫助。

function GetSelected() 
{ 
    alert(document.querySelector('input[name="radioGroup"]:checked').value); 
} 


<input type="radio" name="radioGroup" value="check" /> 
<input type="radio" name="radioGroup" value="wrong" /> 
<input type="radio" name="radioGroup" value="wrong" /> 
<input type="radio" name="radioGroup" value="wrong" /> 
<button onclick="GetSelected()">Submit</button>