有沒有辦法只使用javascript來做到這一點?謝謝!使用javascript返回表單中每個元素的值
回答
基本的JavaScript ...
var arr = document.forms[0].elements;
for (var i = 0; i < arr.length; i++) {
var el = arr[i];
// do something with it.
console.log(el.value) // or similar
}
你可以看看jQuery.serialize()
這還給一個標準的URL編碼字符串。然而好處是它封裝了獲取所有不同類型的表單元素的值。
我通常downvote使用jQuery時,問題說'只使用Javascript',但我不認爲OP知道區別:) –
需求足夠模糊,我想基於jQuery的解決方案是合理的:) –
jQuery沒有被要求,也沒有序列化,並且已經有一個很好的解決方案。但沒有downvote,我不*這*的意思。 :-) – RobG
看一看this。這些人建立了一些只使用純JS並序列化表單的東西。
該函數返回與關聯數組中相同的所有表單元素。它還返回所選多個輸入元素的所有值。
function getFormVals(form) {
var values = [];
for(var i = 0, len = form.elements.length; i < len; i++) {
var input = form.elements[i];
switch (input.type.toLowerCase()) {
case "checkbox":
values[input.name] = values[input.name] || [];
if (input.checked) {
values[input.name].push(input.value);
}
break;
case "radio":
values[input.name] = values[input.name] || "";
if (input.checked) {
values[input.name] = input.value;
}
break;
case "select-multiple":
values[input.name] = values[input.name] || [];
for (var i = 0, len = input.length; i < len; i++) {
if (input[i].selected) {
values[input.name].push(input[i].value);
}
}
break;
default:
values[input.name] = input.value;
break;
}
}
return values;
}
用法可能是:
<form onsubmit="var vals = getFormVals(this); alert(vals['myinput']);" >
<input type="checkbox" name="myinput" value="ckbx1" />
<input type="checkbox" name="myinput" value="ckbx2" />
<input type="submit" />
</form>
- 1. 每個元素的返回值
- 2. 返回列表中每個元素的第一個元素?
- 3. 表單元素不返回新值
- 4. 返回列表中的每個列表的元素範圍
- 5. Lodash的Javascript返回元素的值
- 6. 使用localStorage獲取表單元素值返回null
- 7. Javascript:表單驗證getElementById只返回第一個id元素
- 8. 如何使用JavaScript返回元素innerchild?
- 9. jQuery爲它找到的每個元素返回兩個元素?
- 10. 在Ocaml中返回列表的每一個其他元素
- 11. 如何使用javascript返回DOM元素的ID,而不是元素的值
- 12. Prolog:將列表中的每個元素的值加倍並返回單個列表
- 13. JavaScript數組元素返回值
- 14. 如何使用Len()函數返回列表中每個元素的長度?
- 15. 使用JavaScript返回DOM元素的所有子元素
- 16. Android,Java:返回3個元素列表中的2個元素
- 17. GET byte []並返回使用元素值?
- 18. 返回列表中的第n個元素 - 雄辯javascript 4.3
- 19. 配置單元返回每個用戶的動作列表
- 20. 在javascript中使用數組值的目標表單元素
- 21. 當元素不在列表中時使用linq返回值
- 22. 返回每個其他元素的列表的方案過程
- 23. 從列表中返回一個元素
- 24. 調用println在集合中的每個元素並返回TRUE
- 25. 返回元素爲Javascript vsdocs
- 26. 返回列表中的某個元素否則返回最後
- 27. 插入回車使用正則表達式和JavaScript每2個單詞返回
- 28. AJAX的每個表單元素?
- 29. 每個循環中的第二個元素返回undefined
- 30. 爲元素數組中的每個元素賦值每個元素jQuery
基礎,卻又如此忽視。 – 2011-07-11 20:48:27
也可以注意到表單可以通過名稱訪問:'document.forms ['formName']。elements'' – RobG
@RobG:確實可以,但是這種方法是完全可移植的,不需要知道頁面和/或形式 –