ほとんどのブラウザーはフォームの値をキャッシュするため、ユーザーが別のページに移動してから戻るボタンを押しても、最初からやり直す必要はありません。
jquery フォーム プラグインを使用すると、フォームが正常に送信された後にも発生します。
次のシナリオ:
ユーザーがフォームを送信
送信が成功したことを示すメッセージが表示され、フォームがクリアされます
ユーザーが他のページに移動する
ユーザーが戻るボタンを押す
ページは、フォームが送信される前の状態に復元されます。
送信後に resetForm() を呼び出すと、フォームの初期値が返されるだけで、キャッシュの問題は解決されません。
$(document).ready(function(){
$('form').ajaxForm({
success: function(responseText, statusText){
displayMessage('form successful');
$('form').resetForm();
}
});
});
ページがロードされたときに resetForm() を呼び出すと、キャッシュの問題は解決しますが、ページ間を移動するときに予期されるブラウザーの動作が中断されます。
$(document).ready(function(){
$('form').ajaxForm().resetForm();
});
送信が成功した後にキャッシュをクリアする方法はありますか?