因此,我繼承了這個傳統的rails代碼庫,並且存在一個錯誤,我需要修復給定表單在頁面刷新後保留值(尚未保存到數據庫)的位置。更新後保留值的形式
用例: 用戶填寫表單中的數據,但不按提交。 用戶單擊瀏覽器上的刷新按鈕。 保留表單中的值,而不是刷新整個頁面。
任何想法,我可以開始尋找?在我短暫的,有限的Rails經驗中,這不是默認情況下發生的事情,所以它必須在某個地方編碼?
因此,我繼承了這個傳統的rails代碼庫,並且存在一個錯誤,我需要修復給定表單在頁面刷新後保留值(尚未保存到數據庫)的位置。更新後保留值的形式
用例: 用戶填寫表單中的數據,但不按提交。 用戶單擊瀏覽器上的刷新按鈕。 保留表單中的值,而不是刷新整個頁面。
任何想法,我可以開始尋找?在我短暫的,有限的Rails經驗中,這不是默認情況下發生的事情,所以它必須在某個地方編碼?
應告訴用戶按Ctrl + F5
- 編輯 如果你不能告訴用戶press CTRL+F5(它總是在我的經驗,除非作品的瀏覽器是馬車,或除非有其他是出錯了),只是在form.reset()中onload事件。這將清除窗體中的字段爲默認值。如果您在字段中具有默認值(如<輸入類型=「文本」值=「在此輸入名稱」/ >),那麼當您旅行.reset()時,它將重置爲默認值。
有時瀏覽器會這樣做。 (我不是在談論自動填充下拉菜單,哪些瀏覽器也是這樣做的......只是談論部分填寫,從未提交過,然後刷新的表單)。
確保字段中的值實際上來自您的Rails應用程序,方法是檢查HTML源窗口。
瀏覽器提供的由於以前輸入的值不會在VALUE屬性中,但服務器提供的值將會是。
避免,這可能是一些選項:
有可能是一個更簡單的解決方案... Ctrl-F5有時會做這個伎倆,但我想我以前見過這種方法不行。
我剛剛遇到了這個問題,甚至<body onload="myform.reset()">
沒有工作。這是一個特別的問題,因爲無論好壞,我都使用隱藏的輸入作爲計數器(例如跟蹤動態數量的文件上傳字段)。這些顯然需要在重新加載時重置以防止出現不適用的警告消息。爲了實現我的內部目的,我通過放棄重置按鈕來支持鏈接,從而「修復」它。而不是<input type="reset"/>
我使用<a href=".">Reset</a>
(文件名是index.php)。遠非優雅,但它適用於我的目的。