0

ページに複数のフォーム アクションを関連付ける必要があるフォームがあります。これを実現するために、次のコードと組み合わせて次のスクリプトを使用しています。

<script>
    function submitForm(action)
    {
        document.getElementById('summary').action = action;
        document.getElementById('summary').submit();
    }
</script>


<form action="go-gold.php" method="post" enctype="multipart/form-data"> 
<input type="image" id="arrow" name="go_back" onclick="submitForm('go-gold.php')" value="go_back" src="images/arrow_back.png" class="submit_button" /><br>

<input type="image" id="arrow" name="submit_form" onclick="submitForm('registration.php')" value="submit_form" src="images/arrow.png" class="submit_button" />
</form>

最初のボタンは同じブラウザ ウィンドウ内で「戻る」必要があり (自分自身)、2 番目のボタンは新しいウィンドウに情報を送信する必要があります (空白)。これを実現するためにコードを変更するにはどうすればよいですか? 入力タイプ内に「ターゲット」関数を配置しても機能せず、フォーム タグにターゲットを配置すると、両方の送信ボタンが同じウィンドウに送信されます。

ありがとう!

4

1 に答える 1

1

jQuery を使用すると簡単です。また、2 つの個別のフォーム要素に対して同一の ID を使用する必要があります。クラス名を使用する場合を除き、これらは別個の ID として持つ必要があります。Php は、フォーム アクション名として $_SERVER['PHP_SELF'] を使用することにより、$_SERVER スーパーグローバルを使用して同じページにフォームを送信できます。

  <script>
    $(document).ready(function() {
        $(".submit_button").click(function() {
            clickVal = $(".submit_button").val();
            if(clickVal == 'go_back') {
                //do go back stuff
            }

            if(clickVal == 'submit_form') {
                // do actions for other page
            }
        });
    });
    </script>

    <form action="go-gold.php" method="post" enctype="multipart/form-data"> 
       <input type="image" value="go_back" src="images/arrow_back.png" class="submit_button" /><br>
       <input type="image" value="submit_form" src="images/arrow.png" class="submit_button" />
    </form>
于 2013-05-02T15:56:24.667 に答える