1

SOでこれに関連する他の多くの質問を見てきましたが、どれもうまくいきませんでした。フォームを送信してからPOSTユーザーを別のページにリダイレクトしようとしていますが、両方を実行することはできません。リダイレクトまたは投稿のいずれかを取得できますが、両方を取得することはできません。これが私が今持っているものです:

<HTML>
    <HEAD>
    </HEAD>
    <BODY>
        <script type="text/javascript">
            function redirect() {
                window.location.href = "http://www.google.com";
            }
        </script>
        <form id="myForm" method=POST name=transferform
          action="some_place.php" onsubmit="redirect();">
            <input name=gold type=text value="1" size=5>
            <input name=recipient type=text value="mypal" size=10>
            <input id="myButton" type=submit name=submission value="Send">
        </form>
        <script type="text/javascript">
            window.onload = function(){
                document.getElementById('myButton').click();
            };
        </script>

    </BODY>
</HTML>

私は何を間違っていますか?

4

5 に答える 5

0

Ajaxリクエストを介してフォームを投稿し、リクエストが完了したら新しいページにリダイレクトできます。

このようなもの:

<HTML>
<HEAD>   
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</HEAD>
<BODY>
<form id="myForm" method=POST name=transferform action="some_place.php" onsubmit="return false;">
  <input name=gold type=text value="1" size=5>
  <input name=recipient type=text value="mypal" size=10>
  <input id="myButton" type=submit name=submission value="Send">
</form>

<script type="text/javascript">
  $(function() {
    $(document).on("submit", "#myForm", function(event){
      var name = $('input[name="gold"]:first'),
        recipient = $('input[name="recipient"]:first');
      $.post( "some_place.php", { name: name, recipient: recipient })
      .done(function( data ) {
        window.location.href = "http://www.google.com";
      });
    });
  });
</script>
</BODY>
</HTML>
于 2013-10-07T20:16:18.617 に答える