您可以将多个表单序列化为一个表单,以便只发出一个帖子或 ajax 请求吗?我已经四处搜索,这一切都是为了通过 post/ajax 单独提交每个表单。
问问题
45155 次
4 回答
138
如果您$('form').serialize()
在具有多个表单的页面上运行,它将正确地将所有表单序列化为一个字符串。
要仅包括某些形式,请使用$('#form1, #form2').serialize()
于 2012-02-14T16:55:19.703 回答
32
当您使用 jQueryserialize()
函数时,它只是将您的表单转换为 format 格式的字符串a=1&b=2&c=3
。因此,您当然可以将此函数应用于两种形式并将结果连接&
起来,并在它们之间使用 a,然后在您的 ajax 调用中使用结果。您需要进行一些检查以确保在进行连接时两个字符串都不为空。
于 2012-02-14T16:49:17.653 回答
23
我喜欢上面Jleagle的答案。
如果您对表格更具体,请使用
$('#detailsform,#levelForm').serialize();
上面的行将返回一个字符串值。像customId=08071992&cort=01&empId=7777
您可以通过将属性添加disabled="disabled"
到输入字段来避免不需要的字段,或者换句话说,“禁用”字段不会被序列化。
于 2012-05-19T21:06:25.437 回答
0
对我来说,解决方案是:
$('#firstForm').append($('#secondForm').children());
$('#firstForm').submit();
在我的情况下的结果 - 在一个查询字符串中包含两种形式的单个 GET 查询。
于 2021-05-01T20:09:20.477 回答