人生ずっと勉強

人生ずっと勉強ですね。 https://twitter.com/KiyotakaGoto

submit ボタンを無効化すると、FireFox の場合にブラウザの「戻る」ボタンで戻った時に無効になったままになる件の回避方法

ユーザの連投などを防ぐため、submit ボタンが押されたら js でボタンを無効化する処置をしている際にハマったのでメモ。

解決方法

jquery - Form submit button remains disabled when using Back button in Firefox - Stack Overflow に2つの解決方法が載ってた。

js で解決

$(document).ready(function() {
    $('input[type=submit]', this).attr('disabled', false);

    $('#myform').submit(function(){
        $('input[type=submit]', this).attr('disabled', true);
    });    

});

form タグに属性を追加して解決

<form autocomplete="off">
  <input type="submit" />
</form>

※こちらは input タグの内容すべてが初期状態に戻ってしまう模様。

ちなみに safari は・・・

safari は、ブラウザの back ボタンを押して戻ってから、数秒しないと submit ができない様子。
safari の仕様なんですかね?