2016-12-11 86 views
0

我使用下面的代碼的HTML表單: <input type="text" name="cars[]" required>'如何獲得HTML的輸入在JavaScript

注意使用‘汽車[]’的名稱。

這使我可以有多個具有相同名稱的輸入。

我想從javascript中獲得所有輸入的答案。

有人可以澄清如何做到這一點?

我對這個以下錯誤的代碼:

 var element = document.getInput("cars[]"); 
     for(i=0; i<element.length;i++){ 
     alert(element[i].value); 
     } 

請更正上面的代碼或提及另一種解決方案

感謝

+0

getElementsByName或querySelectorAll ... – epascarello

+0

document.getElementsByName( 「汽車[]」)? –

+0

你有什麼JavaScript代碼/? – putvande

回答

-2

你可以給同一個ID的所有輸入,比如

<input type="text" id="inputId" name="cars[]" required>' 

在Javascript中迭代元素以獲得值

var element = document.getElementsByName("cars[]"); 
for(i=0; i<element.length;i++){ 
console.log(element[i].value); 
} 
+1

你不能這麼做,ID是唯一的,即使你有更多的JavaScript,它也只會在第一個選擇。此外,它將是'document.querySelectorAll(「#inputId」);'如果你可以有多個具有相同ID的元素。 – putvande

+0

Yaa我也使用了document.querySelectorAll,如果你使用document.querySelector,那麼只有它會選擇第一個。 – Ajaykumar

+2

你可以給它一個'class'或者通過'name'屬性來選擇它? – putvande

0

你必須使用document.getElementsByName()這樣的:

var element = document.getElementsByName("cars[]"); 
 
for(i=0; i<element.length;i++){ 
 
\t alert(element[i].value); 
 
}
<input type="text" name="cars[]" value="a" required> 
 
<input type="text" name="cars[]" value="b" required> 
 
<input type="text" name="cars[]" value="c" required>

-1

在純JavaScript淨大致相同的結果,這兩樣東西。首先是使用HTML表單元素來查找附加到它的所有輸入元素。但是,查找名爲「cars []」的數組的語法很麻煩,在我看來有點煩人。如果我打算在純Javascript中做某些事情,我可能更喜歡第二種方式,使用document.querySelectorAll

希望這會有所幫助。

window.addEventListener('load', function() { 
 
    var form = document.getElementById('thing'); 
 
    form.elements['cars[]'].forEach(function(el, i) { 
 
    console.log("value is ", el.value) 
 
    }); //Form.elements[] array has been available since Chrome 7 or so. It should be available for use in just about any browser available. 
 
    var items = document.querySelectorAll('[name="cars[]"]'); 
 
    items.forEach(function(el, i) { 
 
    console.log("Item Value is ", el.value) 
 
    }); 
 

 
});
<form id="thing"> 
 
    <input type="text" name="cars[]" value="1" /> 
 
    <br /> 
 
    <input type="text" name="cars[]" value="2" /> 
 
    <br /> 
 
    <input type="text" name="cars[]" value="3" /> 
 
    <br /> 
 
    <input type="text" name="cars[]" value="4" /> 
 
    <br /> 
 

 
    <input type="submit" value="submit" /> 
 
</form>

+0

嗨,input type =「text」not複選框 – Ajaykumar

+0

然後將它們改爲鍵入文本,它不會對代碼本身做任何事情。 – Jhecht

相關問題