2011-03-02 25 views
2

通常,如果您在表單域中鍵入文本,然後離開頁面,然後按回退按鈕,文本仍然應該在那裏。但是,在firefox中,如果您使用javascript在頁面中的某個位置插入另一個表單元素,則動態插入表單下的所有表單將不再記得在文本中輸入它們應該顯示的內容。在Firefox中忘記輸入數據的表單字段,因爲它應該按下後退按鈕

請參閱http://jsfiddle.net/NUC3w/7/進行演示。

在firefox中,在兩個字段中輸入數據,點擊鏈接,然後點擊返回按鈕。第二個表單輸入值不被記住。註釋掉表單的JavaScript插入,並且一切正常。

它在Chrome和IE8中按預期工作。

+1

我不認爲這是任何標準的一部分,所以它取決於瀏覽器。這可能是一個錯誤,如果FF說它應該工作。它最有可能記住序號和名稱的值,因此如果'input [i]'具有不同的名稱(由於插入),它的值不會被恢復。不知道這是否是一個SO問題,更多的FF錯誤報告? – 2011-03-02 23:53:55

回答

2

沒有預期的具體行爲。這種行爲沒有標準,所以沒有明確的對與錯。

重新填充字段時,Firefox只是更具限制性。當字段的順序與頁面在離開時的顯示方式不匹配時,顯然會停止嘗試將字段與以前的數據進行匹配。

您提到的其他瀏覽器似乎更加輕鬆以重新填充字段。這當然也意味着他們在某些情況下將錯誤的信息放在字段中的風險更高。

您可以通過最後添加字段來降低行爲差異的風險,但只要使用客戶端腳本添加字段,就不能依賴所有瀏覽器行爲相同。

相關問題