您可以将多个表单序列化为一个,以便只发出一个帖子或ajax请求吗?我已经四处寻找,只需通过post / ajax提交每个表单。
答案 0 :(得分:128)
如果您在包含多个表单的网页上运行$('form').serialize()
,则会将所有表单正确序列化为一个字符串。
要仅包含某些表单,请使用$('#form1, #form2').serialize()
答案 1 :(得分:25)
当您使用jQuery serialize()
函数时,它只是将您的表单转换为a=1&b=2&c=3
格式的字符串。因此,您当然可以将此函数应用于两个表单并连接结果,并在它们之间使用&
,并在ajax调用中使用结果。在进行连接时,您需要进行一些检查以确保两个字符串都不为空。
答案 2 :(得分:18)
我喜欢上面Jleagle的回答。
如果您对表格更具体,请使用
$('#detailsform,#levelForm').serialize();
上面的行将返回一个字符串值。比如customId=08071992&cort=01&empId=7777
您可以通过将属性disabled="disabled"
添加到输入字段
答案 3 :(得分:0)
对我来说,解决方案是:
$('#firstForm').append($('#secondForm').children());
$('#firstForm').submit();
在我的例子中的结果 - 在一个查询字符串中使用两种形式的单个 GET 查询。