2016-11-02 6 views
0

私は1つのフォームから複数のページに値を送信する必要があるWebアプリケーションで作業しています。複数のページにフォームの値を送信

私のフォームは単純で、表示形式を含む実際のページを置き換えます

  • 「page1.php」:

    <form method="post"> 
        <input type="text" name="name" value=""> 
        ... 
    </form> 
    

    私は、フォームからの値がに送信されるようにしたいですメッセージ:データが保存されました

  • [submit2.vp]をクリックしてデータをPDFファイルとしてレンダリングすると開く[page2.php]

問題は、フォームのaction属性を使用して1つのターゲットしか指定できないことです。

誰でも手助けできますか?前もって感謝します。

JavaScriptやjQueryなどを使用できますか?

+1

あなたは何をしたいですか?あなたのフォームを提出するときに、1ページ以上を開く必要がありますか? – Hearner

+1

'$ _SESSION'変数を使ってフォームデータを保存することを考えましたか?すべての* .phpページ内で' $ _SESSION'が永続的になります –

+0

あなたはいつも晴れていますか? – manianis

答えて

1

たとえば、JavaScriptとjQueryを使用して実行できます。最も簡単な方法は、2つのAjaxリクエストを送信することです。

$('form').submit(function() { 
    $.ajax({ 
     async: false, 
     method: 'POST', 
     url: 'page2.php', 
     data: $(this).serialize(), 
     success: function() { 
      window.open("http://www.stackoverflow.com"); //this page will be open in new tab 
     } 
    }); 

    $.ajax({ 
     async: false, 
     method: 'POST', 
     url: 'page1.php', 
     data: $(this).serialize(), 
     success: function() { 
      window.location.href = "http://stackoverflow.com"; //redirect to this page 
     } 
    }); 
}); 
+0

私はそれについて考えましたが、別のタブで2番目のページを開く方法について考えましたか? – manianis

+0

@manianisでは、JavaScriptを使用しても可能です。成功コールバックで 'window.open(" http://www.example.com/page2.php ");を呼び出すだけです。私は上記のコードを編集しますので、それを見てください。 –

+0

私は、送信デフォルトのフォームを防止するために、次の追加したときのおかげで、あなたのソリューションがうまく機能 – manianis

1

異なるURLと同じデータでJquery.post()を使用できます。 使用方法の詳細はこちら:https://api.jquery.com/jquery.post/

+0

私はそれについて考えましたが、別のタブを開く方法は? – manianis

関連する問題