【发布时间】:2010-12-28 00:14:20
【问题描述】:
是否可以使用 javascript 或提交按钮同时提交两个表单?
表单结构可以这样:
<form name="form1" method="post">
.........
</form>
<form name="form2" method="post">
.........
</form>
并从两个数组中获取数据?
【问题讨论】:
是否可以使用 javascript 或提交按钮同时提交两个表单?
表单结构可以这样:
<form name="form1" method="post">
.........
</form>
<form name="form2" method="post">
.........
</form>
并从两个数组中获取数据?
【问题讨论】:
不,这是不可能的。您可以创建第三个隐藏表单,它将序列化两者的字段。
如果你可以使用 jQuery:
var str1 = $("form1").serialize();
var str2 = $("form2").serialize();
$.post(url, str1 + "&" + str2);
您需要确保 str1 和 str2 不为空,当然还要避免两种形式之间的名称冲突。
【讨论】:
提交这两个表单将触发对发布 URL 的两次调用,因此您将无法同时获取这两个数据。
【讨论】:
<form>标签的作用是封装浏览器发送给服务器的信息。
解决这个问题的唯一方法是让一些 JavaScript 遍历 DOM,并在用户单击提交时从一个表单中提取信息并将其放入另一个表单中。
【讨论】:
问题在于提交表单会更改页面的 URL。这意味着当提交一个表单时,第二个表单不再存在于活动页面中,因此不会提交。
您需要通过 AJAX 提交它们。您使用任何 javascript 库吗?
【讨论】:
不,它不可能在单个页面上。
AJAX 提交可能是答案,正如其他地方所暗示的那样,但另一种可能的解决方案是将第二个表单嵌入另一个页面并将该页面放在第一页的 IFrame 中。
不确定这在现实中会如何,但可能值得一试
【讨论】:
不,这是不可能的。
请稍等片刻,告诉我们您要完成的工作以及您认为需要两种表格的原因。可能有更优雅的解决方案。
【讨论】: