読者です 読者をやめる 読者になる 読者になる

ブラウザの戻るをされたときにフォームを初期化する方法 - javascriptで

やりたかったこと

1. ユーザが入力フォームからデータを入力して登録ボタンをおす
2. 登録完了ページを表示
3. ブラウザの戻るボタン(iPhone等ならスワイプで戻る)
4. 1で入力した内容が残ってしまう、、、
上記の4.で入力した内容をすべて空にしたいというのが今回やりたかった内容です。

実装

<script src="./jquery.js">
<form action="./input.html" method="post">
  メッセージ:<input type="text" name="message" id="message"><br/>
  メッセージ2:<input type="text" name="message2" id="message2"><br/>
  <input type="submit" value="送信"/>
</form>
<script>
// chrome、firefoxならこれで動くがsafariだと動かない
$(function(){
  $("#message,#message2").each(function(){
    $(this).val("");
  });
});

// chrome、firefox、safariで動く
window.onpageshow = function() {
  $("#message,#message2").each(function(){
    $(this).val("");
  });
}
</script>

こんな感じで実装できました。iPhone使ってる人多いのでsafariは無視できないですね。
地味に苦労しました

以上です