2013年9月27日 星期五

Firefox 重新載入 form 暫存的問題

假設在一個form裡面勾選某個checkbox
在 IE 和 Chrome 裡 勾選 會被清空,但在 Firefox 裡會被保留。
這功能有時對USER會混淆,對程式種的人會用ctrl+F5讓網頁重整
但一般USER並不會如此操作,故僅能在code上著手,解法如下:
第一種
window.onload = function() {   document.getElementById('form1').reset(); } 
form1 是 form 的 id 。 window.onload 只是取其形,你要寫在 <body onload="..." > 還是用 jQuery 的 $(document).ready 都可以 :p 。
第二種
<form autocomplete="off" ... /> 
在 form 加上一個屬性 autocomplete="off" 就 可以了,這個 form 所有的 input 和 select 值在重新載入網頁時都不會被保留。這個解法的後遺症是瀏覽器本來的 AutoComplete 功能就被關起來了,但應該也只有 input type 是 text 的時候 AutoComplete 才有作用。如果只有單一一個 input 或 select 的值不想被保留,也可以把 autocomplete="off" 加在 input 或 select 上。

<input autocomplete="off" ... /> <select autocomplete="off" ... />