1. ホーム
  2. html

[解決済み] Firefoxのバグ - リフレッシュ時に入力の無効化属性がリセットされない

2022-11-04 06:43:58

質問

Firefox でバグと思われるものを発見しました。これが本当にバグなのか、また回避策はあるのでしょうか。

以下のソースで基本的なウェブページを作成した場合。

<html>
  <head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
  </head>
  <body>
    <div>
      <input id="txtTest" type="text" />
      <input type="button" onclick="$('#txtTest').attr('disabled','disabled');" value="Set Disabled (jQuery)" />
      <input type="button" onclick="document.getElementById('txtTest').disabled = true;" value="Set Disabled (js)" />
      <input type="button" onclick="$('#txtTest').removeAttr('disabled');" value="Remove Disabled" />
    </div>
  </body>
</html>

もし、あなたが disabletextbox を動的に作成し、ページを更新すると textbox は無効化されたままとなり、無効化されていない元の状態にリセットされません。IE8 と Chrome で試したところ、期待どおりに動作しました。 textbox がリセットされ、無効化されない状態に戻ります。

もうひとつの興味深い情報は、入力が checkbox ではなく textbox .

どのように解決するのですか?

これは "機能"です。 の機能で、ページを更新してもフォームの入力値を記憶しています。この挙動を修正するには、単に autocomplete="off" を入力フォームに設定するか、あるいは単に入力に直接設定します。

これにより、オートコンプリートが機能しなくなり、ブラウザが入力フィールドの状態を記憶することができなくなります。

別の方法として、CTRL+F5 をクリックして、quot;hard-refresh" を実行することもできます。これにより、現在のページが完全にリセットされます。