使用jQuery或JavaScript访问表单中的元素(或其他包含元素)

使用jQuery或JavaScript访问表单中的元素(或其他包含元素),javascript,jquery,Javascript,Jquery,我有一个表单元素,它包含一堆输入元素(但是,如果不是表单,而是输入在给定的div中,我希望是一样的)。JavaScript需要多次输入表单中的值。而不是使用一堆var id=$('#id').val()脚本,如何获取表单中的所有内容,然后使用像mainForm.id这样的值 <form method="post" id="mainForm"> <input id="id" name="id" type="hidden" value="1" /> <i

我有一个
表单
元素,它包含一堆
输入
元素(但是,如果不是
表单
,而是输入在给定的
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>

尝试使用
$.each()
创建一个空对象,用
输入的
属性
id
填充对象,用
输入的
填充对象

var obj={};
$。每个($(“#主窗体输入”),函数(键,值){
对象[val.id]=val.value
});
console.log(obj)

尝试使用
$创建一个空对象。each()
使用
输入的属性
id
,使用
输入的
填充对象

var obj={};
$。每个($(“#主窗体输入”),函数(键,值){
对象[val.id]=val.value
});
console.log(obj)

尝试使用
$创建一个空对象。each()
使用
输入的属性
id
,使用
输入的
填充对象

var obj={};
$。每个($(“#主窗体输入”),函数(键,值){
对象[val.id]=val.value
});
console.log(obj)

尝试使用
$创建一个空对象。each()
使用
输入的属性
id
,使用
输入的
填充对象

var obj={};
$。每个($(“#主窗体输入”),函数(键,值){
对象[val.id]=val.value
});
console.log(obj)



谢谢Bdloul,我想如果我只想将变量设置为
{id:1,cid:'pages',task:'delete',controller:
display
,CSRF:123}
,可能会有一种更简洁的方法。其中,对象的属性是id或name,属性的值是输入的值。感谢Bdloul,如果我只想将变量设置为
{id:1,cid:'pages',task:'delete',controller:
display
,CSRF:123}
,我认为可能有一种更简洁的方法。其中,对象的属性是id或name,属性的值是输入的值。感谢Bdloul,如果我只想将变量设置为
{id:1,cid:'pages',task:'delete',controller:
display
,CSRF:123}
,我认为可能有一种更简洁的方法。其中,对象的属性是id或name,属性的值是输入的值。感谢Bdloul,如果我只想将变量设置为
{id:1,cid:'pages',task:'delete',controller:
display
,CSRF:123}
,我认为可能有一种更简洁的方法。其中,对象的属性为id或名称,属性的值为输入的值。生成对象数组,而不是具有名称或id属性的单个对象(碰巧总是相同的)@user1032531是每个
输入
id
的预期结果单个对象。查找
{id:1,cid:'pages',任务:'delete',控制器:display,CSRF:123}
。如果没有jQuery,是否有更简洁的方法?我在我的原始帖子中添加了一个不完美的解决方案,但它并不精确,因为它们需要作为
obj.id.value
访问,而不是理想的
obj.id
。事实上,它非常简洁,我可能会同意。Thanks生成一个对象数组,而不是一个具有名称或id属性的单个对象(碰巧总是相同的)@user1032531是每个
输入
?查找
{id:1,cid:'pages',task:'delete',controller:display,CSRF:123}
。如果没有jQuery,是否有更简洁的方法?我在我的原始帖子中添加了一个不完美的解决方案,但它并不精确,因为它们需要作为
obj.id.value
访问,而不是理想的
obj.id
。事实上,它非常简洁,我可能会同意。Thanks生成一个对象数组,而不是一个具有名称或id属性的单个对象(碰巧总是相同的)@user1032531是每个
输入
?查找
{id:1,cid:'pages',task:'delete',controller:display,CSRF:123}
。如果没有jQuery,是否有更简洁的方法?我在我的原始帖子中添加了一个不完美的解决方案,但它并不精确,因为它们需要作为
obj.id.value
访问,而不是理想的
obj.id
。事实上,它非常简洁,我可能会同意。Thanks生成一个对象数组,而不是一个具有名称或id属性的单个对象(碰巧总是相同的)@user1032531是每个
输入
?查找
{id:1,cid:'pages',task:'delete',controller:display,CSRF:123}
。如果没有jQuery,是否有更简洁的方法?我在我的原始帖子中添加了一个不完美的解决方案,但它并不精确,因为它们需要作为
obj.id.value
访问,而不是理想的
obj.id
。事实上,它非常简洁,我可能会同意。谢谢
var obj=document.getElementById('mainForm');

console.log(obj.id.value);
$('#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
});