2016-04-18 23 views
0

私はsubmitボタン付きのaspxページにフォームタグを持っています。私は別のWebフォームにリダイレクトするために、第二に、別のURLにリダイレクトするように、すなわち、二つの異なるアクションをやりたい、送信ボタンをクリックしてください2つの異なるアクションを実行するフォーム

<form id="userReg" method="post"> 
     <input type="submit" id="submit" value="Submit" onclick="doActions();" /> 
</form> 

Javascriptを

 function doActions() { 
     userForm = document.getElementById('userReg'); 
     userForm.action = 'GettingUserDetails.aspx'; 
     userForm.submit(); 
     userForm.action = 'Confirmationurl.com'; 
     userForm.submit(); 
    } 

Confirmationurl.comアクションをやっていないことをした後'GettingUserDetails.aspx'アクションを実行しています。

私はアヤックスの追加アクション

+0

最初にAjax経由で送信するか、最初の送信からの応答でリダイレクトを行います。 – nnnnnn

+0

2番目の関数をコールバックに渡しますか? – Giri

+0

'userForm = document.getElementById( 'userReg'); userForm2 = userForm; 'は' userForm'と 'userForm2'にsubmit関数を試してみます –

答えて

0

の両方を行うことができますどのように、それはさらに良くなるだろう。

function doActions() { 
    $.ajax({ 
    type: "POST", 
     url: "GettingUserDetails.aspx", 
     data: $(this).serialize(), 
     success: function() { 
     // callback code here 
      userForm.action = 'Confirmationurl.com'; 
      userForm.submit(); 
     } 
    }) 

} 

$(userForm).on('submit', function(ev){ 
ev.preventDefault(); 
doActions(); 
} 
1
<form name=Form1 action= "login1.php" method=post> 
Username <input type="text" name="username"> 
Password <input type="password" name="password"> 
<input type="submit" value="Send" name="button1" 
        onclick="return OnButton1();"> 

は今、私たちは次の形式を持っています。今、我々は2つのページにデータを提出している、

<script language="javascript"> 
<!-- 
function OnButton1() 
{ 
    document.Form1.action = "GettingUserDetails.aspx" // First target 
    document.Form1.target = "iframe1"; // Open in a iframe 
    document.Form1.submit();  // Submit the page 
    document.Form1.action = "Confirmationurl.com" // Second target 
    document.Form1.target = "iframe2"; // Open in a iframe 
    document.Form1.submit();  // Submit the page 
    return true; 
} 
--> 
</script> 

OK:私たちは、送信ボタンをクリックすると、JavaScript関数を呼び出します。あなたが見ることができるように、彼らはフレームのような目標を持っています。我々はデータを持つ2つの新しいページを開くためにそれを必要とするので、これはですが、ユーザーを悩まないために、私たちは、このようなのIFRAMEを隠す:

<div style="visibility:hidden"> 
<iframe NAME="iframe1" WIDTH="40" HEIGHT="40"></iframe> 
<iframe NAME="iframe2" WIDTH="40" HEIGHT="40"></iframe> 
</div> 

ページはIFRAMEにデータを送信し、情報が処理されますあなたが望むように。

関連する問題