20

ユーザーがブラウザで [更新] をクリックすると、ページが再読み込みされますが、フォーム フィールドの内容は保持されます。これが便利なデフォルトであることはわかりますが、一部の動的ページでは煩わしく、ユーザー エクスペリエンスが損なわれる可能性があります。

HTTP ヘッダーまたは同等のもので、この動作を変更する方法はありますか?

4

6 に答える 6

39
<input autocomplete="off">
于 2008-09-09T15:52:08.480 に答える
8

これでうまくいくはずです:

<body onload="document.FormName.reset();">

FormName をフォームの名前に置き換えると、ユーザーがブラウザで更新をクリックすると、すべてのフィールドがリセットされます。

または、一部のフィールドのみをリセットする場合は、これをページの下部に追加します。

<script type="text/javascript">
    document.getElementById('field1').value ='';
    document.getElementById('field2').value ='';
    document.getElementById('field3').value ='';
</script>

これにより、更新を含め、ユーザーがページに入るたびにフィールドがリセットされます

于 2008-09-09T15:53:32.097 に答える
4

更新したくない入力に「オフ」に設定されたオートコンプリート属性を追加します。例えば:

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

W3C リファレンスを参照 してください

リファレンスには記載されていませんが、少なくともFirefoxではチェックボックスでも機能します。

于 2009-11-28T16:44:28.480 に答える
2

html ドキュメントの body load イベントからフォーム オブジェクトの reset() メソッドを呼び出して、フォームをクリアすることができます。

h1. 参考文献

于 2008-09-09T15:48:54.293 に答える
0

メタ タグを使用してページをキャッシュしないように設定すると、問題が解決するのでしょうか。http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.htmlもしそうなら、Javascript を無効にしたブラウザーで動作する利点があります。

于 2008-09-09T15:49:56.990 に答える
0

フォーム上のデータは w3c 仕様の一部ではありません。これは、あなたの生活を楽にするブラウザ機能です。したがって、リロード後にデータを保持したくない場合は、Espo が言ったように、ロード後にすべてのフォームの値を null に設定できます。ページがキャッシュされていない場合でも、データはページの html コードの一部ではないため、フォームにデータが表示されます。これも試すことができます(うまくいくかどうかはわかりません):

<input type="text" name="foo" value="">
于 2008-09-17T19:09:23.057 に答える