2012-09-02 3 views
-2
<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을 형성합니다. 이 코드를 시도했지만 작동하지 않습니다. 추천이 있으십니까?

+1

두 개의 PHP 파일을 포함하는 두 개의 PHP 파일을 보내거나 AJAX를 사용하십시오. 첫 번째 .submit() 스크립트의 실행이 중단되면 첫 번째 스크립트 만 제출됩니다. – 11684

답변

1

document.getElementById("newCart.php").submit();이 실행되는 즉시 브라우저는 다음 페이지를 가져 오게됩니다. 한 페이지에서 두 개의 양식을 게시 할 수 없습니다 (iframe 제외).

그러나 hidden field을 양식 중 하나에 넣고 PreviousCarts/newCart 콘텐츠의 값을 설정 한 다음이 양식을 게시하십시오. PHP 파일 중 하나가 그냥 백그라운드 프로세스와 하나의 디스플레이 정보를 수행된다고 가정

0

먼저, 백그라운드 프로세스로 생성 된 프레임을 통해 양식을 보내 잠시 기다리 메인 페이지로 제출할 수 있습니다

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

어떤 이유로 서버 측에서 작업 할 수없는 경우에 대비하는 것은 좋지 않습니다.

관련 문제