我正在嘗試做一個通用的「檢查空」javascript函數。我想我會做的是的onsubmit獲得形式的input
箱子的數量,並把它的長度,像這樣:Javascript - 從表單獲取輸入數組
我沒有通過this.name
通過表單名稱進入功能,稱之爲formVar
var len = formVar.input[].value;
然後,我會使用該變量作爲循環的限制,以便我可以檢查每一個,看看它是否爲空。上面的代碼片段有什麼問題?有沒有辦法在表單中獲得大量輸入?
我正在嘗試做一個通用的「檢查空」javascript函數。我想我會做的是的onsubmit獲得形式的input
箱子的數量,並把它的長度,像這樣:Javascript - 從表單獲取輸入數組
我沒有通過this.name
通過表單名稱進入功能,稱之爲formVar
var len = formVar.input[].value;
然後,我會使用該變量作爲循環的限制,以便我可以檢查每一個,看看它是否爲空。上面的代碼片段有什麼問題?有沒有辦法在表單中獲得大量輸入?
input[]
不是在JavaScript中有效的標識符,所以你需要訪問這些輸入作爲您的窗體上的字符串索引:
var allInputs = formVar["input[]"];
var len = allInputs.length;
var anyChecked = false;
for (var i = 0; i < len; i++)
if (allInputs[i].checked){
anyChecked = true;
break;
}
if (!anyChecked)
alert("all checkboxes are empty!");
您可以使用下面的圖輸出表單中輸入元素的數量:
document.forms['search'].getElementsByTagName('input').length
這假定您有一個名爲search的表單。或者你可以用你的formVar
來代替dcoument.forms['search']
部分
不錯!我猜'input []'返回一個填充'formVar'數組的數字?我不太明白這是如何工作的:S – 2012-01-12 05:59:43
'formVar [「input []」]'返回一個dom元素的集合。在這種情況下,那些名稱爲「input []」的輸入 – 2012-01-12 06:03:47