127

ほとんどのブラウザはフォーム入力値をキャッシュします。したがって、ユーザーがページを更新すると、入力の値は同じになります。

これが私の問題です。ユーザーが[保存]をクリックすると、サーバーはPOSTされたデータ(チェック済みの製品など)を検証し、有効でない場合はブラウザーに送り返します。ただし、前述のように、サーバーが一部の値の選択をクリアした場合でも、ブラウザーのキャッシュのためにそれらが選択される可能性があります。

私のデータには(親アイテムが選択されるまで)非表示のチェックボックスがあるため、ユーザーは、もう一度[保存]をクリックしてエラーメッセージが表示されるまで、以前の値が選択されていることに気付かない場合があります。これは苛立たしいです。

これはCtrl+を実行することで解決できますがF5、解決策ではありません。一部のフォーム/ページにフォーム入力データをキャッシュしないようにブラウザに指示する自動/プログラムによる方法はありますか?

4

5 に答える 5

206

値を明示的に空白に設定していますか? 例えば:

<input type="text" name="textfield" value="">

これにより、ブラウザがデータを配置すべきではない場所に配置するのを防ぐことができます。autocompleteまたは、属性を form タグに追加することもできます。

<form autocomplete="off" ...></form>
于 2010-04-23T14:38:44.097 に答える
50

スタック オーバーフロー リファレンスから

ブラウザがすでに値を保存している場合、value="" では機能しないため、追加する必要があります。

入力タグには、設定できる autocomplete 属性があります。

<input type="text" autocomplete="off" />

フォームにもオートコンプリートを使用できます。

于 2013-06-19T08:36:36.770 に答える
10

もう 1 つの方法は、HTML のフォームの直後に JavaScript を使用してフォームをリセットすることです。

<form id="myForm">
  <input type="text" value="" name="myTextInput" />
</form>

<script type="text/javascript">
  document.getElementById("myForm").reset();
</script>
于 2011-12-08T17:31:56.620 に答える
10

基本的に、キャッシュをクリアするには 2 つの方法があります。

<form autocomplete="off"></form>

また

$('#Textfiledid').attr('autocomplete', 'off');
于 2015-07-25T04:27:57.117 に答える