2012-09-02 46 views
-2
<script type="text/javascript"> 
function Add() { 

    document.getElementById("newCart.php").submit(); 
    document.getElementById("PreviousCarts.php").submit(); 
} 
</script> 

HTML:不要張貼兩種形式在點擊的javascript

<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。 我們試過這段代碼,但它不起作用。 你有推薦嗎?

+1

發送它兩個PHP文件,包括兩個PHP文件,或使用AJAX。如果涉及第一個.submit()腳本的執行停止,那麼只會提交第一個。 – 11684

回答

1

只要document.getElementById("newCart.php").submit();執行瀏覽器用完提取下一頁。您不能從一個頁面(沒有iframe)發佈兩個表單。

但是,您可以將其中一個hidden field置於其中一個表格中,並將其值設置爲PreviousCarts/newCart內容,然後發佈此表單。

0

假設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(); 
} 

這不是最佳實踐,只是出於某種原因,您不能在服務器端進行操作。