1

複数ページのフォームがあります。各ページはデータを次々に投稿し、PHPはPOSTデータをセッションデータとして保存します。テーブルの最後に、このセッションデータがサマリーテーブルに表示されてから、最終的な送信によってそのセッションデータがMySQLデータベースに保存されます。

フォームページから移動するには、2つの方法があります。フォームデータを送信するための両方のオプションです。

1)フォームアクションを実行し、ユーザーを次のフォームページに移動する送信ボタン。

2)ページメニュー。ユーザーはそこから他のフォームページにアクセスできます。メニューナビゲーションでJavaScriptを使用して、送信を促します。

$('#menu a').onclick {
    $('#myform').submit();
});

ただし、フォームの送信アクションは次のとおりです。

<form id="myform" method="post" action="?page=survey-2">
...form fields...
</form>

したがって、送信を開始すると、更新されたデータのみが次のページに投稿されます。

ユースケース:ユーザーがフォームに入力し、概要ページに到達し、表示してエラーが発生すると、メニューを使用してページに戻り、ページを変更し、メニューを使用して概要ページに戻ります。明らかに更新されたデータのため、何も変更されません。ナビゲーションの宛先ではなく、次のページにのみ送信されます。

メニューでリンクをクリックすると、そのナビゲーションリンクの宛先もフォームデータを受信するように、js(またはその他)を使用する方法はありますか?または、フォームのアクションですべてのページに一度に送信できます(ただし、デフォルトのナビゲーションは後続のページのみです)。

よろしくお願いします

4

1 に答える 1

1

AJAX を使用してデータをハンドラーにポストし、コールバックを使用して任意の場所に移動します

$('#menu a').onclick {
    var data = $('#myForm').serialize();
    var handler = '?page=survey-2';
    $.post(handler,data,function(){
        window.location.href='http://www.google.com';
    })
});

jQuery POST の詳細については、次を参照してください。

http://api.jquery.com/jQuery.post/

于 2012-10-09T20:17:04.000 に答える