當用戶在其瀏覽器上點擊刷新時,它會重新加載頁面,但會保留表單域的內容。雖然我可以看到這是一個有用的默認設置,但它可能會在某些動態頁面上很煩人,導致用戶體驗不佳。瀏覽器刷新行爲
有沒有一種方法,在HTTP標頭或等價物,來改變這種行爲?
當用戶在其瀏覽器上點擊刷新時,它會重新加載頁面,但會保留表單域的內容。雖然我可以看到這是一個有用的默認設置,但它可能會在某些動態頁面上很煩人,導致用戶體驗不佳。瀏覽器刷新行爲
有沒有一種方法,在HTTP標頭或等價物,來改變這種行爲?
<input autocomplete="off">
您可以從html文檔的body load事件中調用表單對象的reset()方法來清除表單。
h1。參考
我不知道,如果設置的頁面不通過meta標籤被緩存,將是解決這一問題? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html如果確實如此,那麼它將有利於禁用JavaScript的瀏覽器。
實際上,我需要Javascript來處理頁面的各種其他位。 – 2008-09-10 18:38:28
這應該做的伎倆:
<body onload="document.FormName.reset();">
替換窗體名稱與形式的名稱,然後所有的字段將被重置,當用戶點擊他的瀏覽器刷新。
或者,如果你只是想重置某些字段,添加到你的頁面的底部:
<script type="text/javascript">
document.getElementById('field1').value ='';
document.getElementById('field2').value ='';
document.getElementById('field3').value ='';
</script>
這將每一個用戶進入頁面時,包括更新
的重置的域表單上的數據不是w3c規範的一部分。這是一個讓您的生活變得輕鬆的瀏覽器功能。因此,如果您不想在重新加載後保留數據,您可以在加載後將所有表單的值設置爲null,如Espo所說。 即使頁面沒有被緩存,它也會在窗體上顯示數據,因爲數據不是頁面的html代碼的一部分。 你可以試試這個太(不知道是否會工作):
<input type="text" name="foo" value="">
添加autocomplete屬性設置爲「關閉」你不想被刷新的輸入。 例如:
<input type="text" name="pin" autocomplete="off" />
雖然在引用沒有提及,它的工作原理也與複選框,至少在Firefox。
在你這樣做之前,因爲小心你的假設,即每個人都希望你清除表格,因爲我個人喜歡錶格數據在後退/前進期間可用。瀏覽器花了很長時間來做到這一點,我恨它消失! – 2008-09-14 19:01:31
別擔心,我並沒有禁止所有形式的這種情況,只是少數情況下的假設沒有意義。 – 2008-10-10 18:30:44