web-dev-qa-db-ja.com

入力値をキャッシュ/保持しないようブラウザに指示するページを作成します

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

これが私の問題です。ユーザーが[保存]をクリックすると、サーバーはPOSTされたデータ(チェックされた製品など)を検証し、有効でない場合はブラウザーに送り返します。ただし、前述のように、サーバーが一部の値の選択をクリアしても、ブラウザーのキャッシュのために選択されたままになる場合があります!私のデータには(親アイテムが選択されるまで)非表示のチェックボックスがあるため、ユーザーは、「保存」を再度クリックしてエラーメッセージが表示されるまで、以前の値がまだ選択されていることに気付かない場合があります-ユーザーはそうではないと思いますが。いらいらしている。

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

107
queen3

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

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

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

<form autocomplete="off" ...></form>
181
DisgruntledGoat

from stackoverflow reference

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

入力タグには、設定可能なオートコンプリート属性があります。

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

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

40
shareef

別のアプローチは、HTMLのフォームの直後にJavaScriptを使用してフォームをリセットすることです。

<form id="myForm">
  <input type="text" value="" name="myTextInput" />
</form>
<script type="text/javascript">
  document.getElementById("myForm").reset();
</script>
10
pmko

レイトアド、しかしこれは新しいブラウザーで私のために働いた:

autocomplete = "新しいパスワード"

6
erikrunia

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

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

または

$('#Textfiledid').attr('autocomplete','off');

`

5
Anand Dwivedi