在一次点击中发布到两个表单 JavaScript

do post to two forms in one click javascript

本文关键字:两个 表单 JavaScript 一次      更新时间:2023-09-26
<script type="text/javascript">  
function Add () {
    document.getElementById("newCart.php").submit();
    document.getElementById("PreviousCarts.php").submit();
}
</script>

.HTML:

<form name="myform" Id="myform" action="POST" method ="POST"  data-ajax="false">
<div class="main-content-wrapper"> 
<div class="image box-right" style="text-align: center"><img src="pic/shoping cart.jpg" border="0" width="150" height="150" 
                    title="go to a new cart!" onclick="if (validateEmail()) { Add ();} else {return false;}">
<span class="style1"><strong><br>New Shop Cart</strong></span>&nbsp; &nbsp; </div>
<div class="image box-left" style="text-align: center"><img src="pic/page_accept .png" border="0" width="150" height="150" 
                    title="go to a your old shopping bag!" onclick="if (validateEmail()) { Add ();} else {return false;}">
<span class="style1"><strong><br>your Previous shopping carts</strong></span></div>

我们想做帖子或形成名称newcart或形成previouscart。我们尝试了这段代码,但它不起作用。你有推荐吗?

一旦document.getElementById("newCart.php").submit();执行,浏览器就会跑出来获取下一页。您不能从一个页面发布两个表单(没有iframe(。

但是,您可以将一个hidden field放在其中一个表单中,并使用PreviousCarts/newCart内容设置其值,然后发布此表单。

假设其中一个 PHP 文件只是在做一些后台进程和一个显示信息,你可以先通过生成的帧将表单发送到后台进程,等待一会儿,然后提交到主页:

function Add () {
    var oForm = document.getElementById("myform");
    //create hidden frame:
    var oFrame = document.createElement("iframe");
    oFrame.id = "MyHiddenFrame";
    oFrame.name = "MyHiddenFrame";
    oFrame.style.display = "none";
    document.body.appendChild(oFrame);
    //submit to first page via hidden frame:
    oForm.target = "MyHiddenFrame";
    oForm.action = "PreviousCarts.php";
    oForm.submit();
    //submit to second page:
    oForm.target = "";
    oForm.action = "newCart.php";
    oForm.submit();
}

这不是最佳实践,以防万一由于某种原因您无法执行该服务器端。