在一个按钮中提交两个表单
submit two forms in 1 button
我试图同时提交两个表单我试图将一份表格发送到我的数据库,另一份发送到不同的网站
我的代码是这样的:
function submitform(){
document.forms["form2"].submit();
document.forms["form1"].submit();
}
<form name="form1" action="1.php" method="post">
<!-- ... -->
</form>
<form name="form2" action="2.php" method="post" target="foo">
<!-- ... -->
</form>
<a onclick="submitform();">Go</a>
现在,如果我只提交form2,它会在一个新的选项卡中打开并工作,但当我尝试同时提交它们时,它只提交form1我不知道为什么
如有任何帮助,将不胜感激
感谢
一次只能提交一个表单。
document.forms["form1"].submit();
document.forms["form2"].submit();
第一行是将HTTP请求POST到运行PHP的服务器。响应将覆盖当前页面,可能会使用新的HTML文档。这意味着后续代码是无意义的。即使它开始执行,任何更改都不会持久存在。
为了解决这个问题,可以将两个表单合并为一个表单,或者使用AJAX从服务器"后台"(异步)获取所需信息,并使用JavaScript手动更新页面。
Marc B的评论
一次只能提交一种格式。在提交之前,你必须以某种方式将表格组合成一个表格。
是我的答案。
使用jquery,您可以调用ajax 发布表单
function submit_forms() {
$.post('1.php', $('#form1').serialize(), function() {
// do stuff when finish
});
$.post('2.php', $('#form2').serialize(), function() {
// do stuff when finish
});
}
您需要使用ajax请求提交至少一个表单,并使用一些jasvcript在发送ajax请求时暂停表单的提交。
使用jQuery,您将使用类似以下的东西
<form id="theForm" method="post" action="your/formhandler/on/your/server">
<fieldset id="myInfo">
// form fields to post data to you in here
</fieldset>
<fieldset id="theirInfo">
// form fields to post data to the 3rd party in here
</fieldset>
<input type="submit" value="submit" />
</form>
将所有内容都包含在一个带有适当提交按钮的表单中更容易访问,但javascript技术(稍作调整)也适用于两个单独的表单和一个<a>
标记。
$(function (){ // run this code once teh page has finished loading
$("#theForm").submit(function() {
$.ajax({
type: "post",
url: "http://their/form/handler",
data: $("#theirInfo").serialize() // off the top of my head I'm not 100% sure this will work, you may need to do $("#theirInfo").find("input,select,textarea").serialize()
})
});
})
服务器上的表单处理程序将收到所有数据,但您可以忽略/丢弃不需要的部分。
相关文章:
- 在servlet中提交两个表单
- 我如何让我的脚本连续提交两个表单
- 在一次点击中发布到两个表单 JavaScript
- 只需一个按钮即可在页面上提交两个表单
- HTML5两个表单将分别打印出来
- 使用jQuery组合两个表单输入值
- 两个表单,一个选择/下拉框-需要将选择值从一个表单复制到另一个表单
- 我怎么能只提交两个表单元素
- 收听在同一页面上使用两个表单提交事件
- 两个表单 - 一个提交按钮
- 如何使用一个带有 rails 和 javascript 的提交按钮提交两个表单
- Angularjs 两个表单用于同一个控制器
- Rails/General HTML:如何从两个表单提交内容
- 如何使用一个 JavaScript 函数管理两个表单
- 尝试在 Bootstrap 中将两个表单并排放置.任何想法如何
- 点击时事件会触发两个表单的提交
- 如果一个表单输入被禁用,那么两个表单输入是否可以具有相同的名称
- 验证两个表单并将其作为一个jquery提交
- 如何对两个表单使用公共输入
- 同一页面上的两个表单和两个脚本,第一个脚本将被调用而不考虑提交