[英]Access elements in a form (or other containing element) using jQuery or JavaScript
我有一個包含一堆input
元素的form
元素(但是,如果輸入不是在form
,而是在給定的div
中,我希望它是相同的)。 JavaScript多次需要表單中的值。 而不是使用一堆var id=$('#id').val();
腳本,我該如何獲取表單中的所有內容,然后使用諸如mainForm.id
之類的值?
<form method="post" id="mainForm">
<input id="id" name="id" type="hidden" value="1" />
<input id="cid" name="cid" value="pages" type="hidden" />
<input id="task" name="task" value="delete" type="hidden" />
<input id="controller" name="controller" value="display" type="hidden" />
<input id="CSRF" name="CSRF" value="123" type="hidden">
</form>
編輯
不完美,但也許僅僅是:
var obj=document.getElementById('mainForm');
console.log(obj.id.value);
嘗試創建一個空的對象,利用$.each()
來填充對象財產id
的input
,與對象值value
的input
var obj = {}; $.each($("#mainForm input"), function(key, val) { obj[val.id] = val.value }); console.log(obj)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> <form method="post" id="mainForm"> <input id="id" name="id" type="hidden" value="1" /> <input id="cid" name="cid" value="pages" type="hidden" /> <input id="task" name="task" value="delete" type="hidden" /> <input id="controller" name="controller" value="display" type="hidden" /> <input id="CSRF" name="CSRF" value="123" type="hidden"> </form>
沒有jQuery
var obj = {}; var inputs = document.querySelectorAll("#mainForm input"); [].forEach.call(inputs, function(val, key) { obj[val.id] = val.value; }); console.log(obj)
<form method="post" id="mainForm"> <input id="id" name="id" type="hidden" value="1" /> <input id="cid" name="cid" value="pages" type="hidden" /> <input id="task" name="task" value="delete" type="hidden" /> <input id="controller" name="controller" value="display" type="hidden" /> <input id="CSRF" name="CSRF" value="123" type="hidden"> </form>
$('#mainForm input').each(function() {
// do what you want with the input here
// console.log($(this).attr('id')); will print the id of every input for example
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.