Jquery 如何获取表单中所有输入的值
代码:Jquery 如何获取表单中所有输入的值,jquery,forms,input,Jquery,Forms,Input,代码: 当我们不知道输入的id时,有人知道如何获取值吗?类似的方法应该会奏效 var value5=$newform.findinput.get5.val 我想有几种方法,取决于你将如何处理它 例如,您可以选择表单中的所有输入: $('form input') 这将返回一个表示所有输入的jQuery对象数组。然后可以循环遍历该数组,并获取每个数组的.val 另一种选择可能是将整个表单序列化为JSON对象: var data = $('form').serialize(); 然后,您可以根据需
当我们不知道输入的id时,有人知道如何获取值吗?类似的方法应该会奏效 var value5=$newform.findinput.get5.val
我想有几种方法,取决于你将如何处理它 例如,您可以选择表单中的所有输入:
$('form input')
这将返回一个表示所有输入的jQuery对象数组。然后可以循环遍历该数组,并获取每个数组的.val
另一种选择可能是将整个表单序列化为JSON对象:
var data = $('form').serialize();
然后,您可以根据需要操作JSON对象数据或从中提取值。您可以使用jQuery函数
给表单一个id,例如测试表单,然后您可以执行以下操作:
var formValues = $('#test-form').serialize();
var inputValues = $("#newform .form-group input:text").map(function() {
return this.value;
}).get();
尝试:
或:
看起来您正在使用jQuery
$('form[name="newForm"]').serializeArray();
这将生成一个如下所示的数组:
[{name:'test1', value:'value1'},...]
请参阅。您可以执行以下操作:
var formValues = $('#test-form').serialize();
var inputValues = $("#newform .form-group input:text").map(function() {
return this.value;
}).get();
如果需要一个值数组,可以通过链接到以下位置从元素中投影这些值:
有很多选择 按标签 使用$'input'获取整个页面上的所有输入。这不受任何特定形式的限制 组合选择器 您可以组合选择器,$'input,select' 试试看: 按标记,在元素内 可以使用find从特定元素检索所有输入。例如: $'myForm'。查找'input' 您还可以将此方法与组合选择器结合使用: $'myForm'。查找'input,select' 使用form.elements集合 有一个元素集合,使用$'myForm'.elements访问 通过给所有元素一个类 这是最灵活的选项,请使用$'.MylementClass' 连载 jQuery提供了一种序列化表单数据的方法;它将以字符串格式为您提供可用于请求的所有元素的列表 $'myForm'。序列化输出,例如此url编码字符串:myElementA=my+input&myElementB=my+input+c&myElementC=my+input+c $'myForm'。serializeArray类似,但您得到的是一个对象,而不是字符串,其中form元素名称是与当前值对应的键。它看起来是这样的: {myElementA:my input,myElementB:my input b,myElementC:my input c} 结论 总之,这是jQuery的基本用法。我建议您坐下来阅读手册和一些教程,以扩展jQueryFoo 文件 jQuery基础知识- jQuery.find- jQuery.serialize- 使用AJAX和jQuery提交表单见示例- jsFiddle:
你想要什么,一个数组?你想知道输入ID,为什么要解析它呢?当然,你不能笼统地说对象,但在形式上你是非常具体的。@DavidThomas如果我真的想分别得到每个值的话。但数组也会很好。@Jonast92在我的测试代码中,所有输入都有id,但是当我们不知道id输入时,如何得到它们的值呢?请解释您想要的最终结果,然后我们将解决如何帮助您获得它。否则我们只是在猜测,根据我们所知道的将会或能够起作用。@Stranik Oops,漏掉了一个“t”!应修复。第二个代码段将返回未选中复选框的值,这可能是不需要的。
$('form[name="newForm"]').serializeArray();
[{name:'test1', value:'value1'},...]
var inputValues = $("#newform .form-group input:text").map(function() {
return this.value;
}).get();
var values = $("input[type=text]").map(function() {
return this.value;
}).get();
$('input.form-control').each(function() {
alert($(this).attr('name') + " = " + $(this).val());
});