0

別のフォームのボタンが押されたときにフォームを送信しようとしています。フォームは単純に更新され、既に入力されている情報を取得しようとしています。

こんな感じで情報が流れます。フォームは実際には同一ではありません。これは概念を単純化するためです。

<?

function form(){
    ?>
    <form method="post" id="form1">
    <input type="text" name="textinput"/>
    <input type="submit" name="submit_form1"/>
    </form>

    <?
    $form2 = new forms();  //assume form 2 is setup similarly to form1 and its <form> tags are in that form like they are for form 1
    $forms->get_form2();
    ?>
}

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

$('#form2').click(function() {
  $('#form1').submit();
});

</script>
<?

私はこのようなことを試みましたが、うまくいきません。フォーム 1 に何かが入力されている (しかし送信されていない) と仮定すると、フォーム 2 のボタンが押されたときにこれらの値を取得したいと思います。

私もこれを試しました(十分に機能すると思います)が、どちらも成功しませんでした。

$('#form1').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});
4

2 に答える 2

1
$(document).ready(function(){
    $('#form2').submit(function(){
        $('#form1').submit();
        return false;
    });
});

これが必要な場合は、 document.ready() でラップする必要があります。ただし、この方法では、form2 ではなく、form1 のみを送信します。

于 2012-11-19T02:29:12.993 に答える
0

フォームが送信されると、サーバーはクライアントに結果を返しますが、ここでやろうとしていることは、2 つのフォームを同時に送信することです (正しく理解している場合)。

別のフォームを送信する前にあるフォームの情報を保存したい場合は、リクエストを送信してサーバー上のセッションを更新するか、localstorage または Cookie を使用してローカルに情報を保持し、ロードする新しいページでセッションからデータを取得する必要があります。またはクッキー。

于 2012-11-19T02:25:46.403 に答える