[英]jquery-ui autocomplete breaks browser storage of filled form fields
在表單中使用jquery和jquery-ui自動完成。 問題是,如果用戶填寫該表單,然后導航到另一個頁面,然后返回到該表單,則除具有自動完成功能的字段為空白外,所有字段仍將被填充。
我已經深入到此:
<script type="text/javascript">
window.onload = function(){ $("#ac_box").autocomplete({
source: ("tatooine dagobah hoth bespin yavin alderaan ry'leh kessel nar-shadda".split(' '))})
};*
</script>
...
<form><input type="text" id="ac_box"></form>
將顯示問題,但是刪除腳本會使它消失(文本在離開頁面並返回時停留在字段中)。 我已經嘗試過自動完成選項,但是我肯定會錯過一些東西。
同樣,在不同的瀏覽器中,這可能有所不同。 我在Mac上的最新版chrome中遇到問題
問題在於,瀏覽器在導航到內置自動完成行為時會記住記住表單值的行為。 因此,關閉本機自動完成功能會阻止瀏覽器導航回頁面時記住該值。
由於jQuery UI自動完成小部件禁用了本機自動完成,因此它也無意中禁用了瀏覽器在導航時記住字段值的功能。 如果在頁面卸載之前重新啟用本機自動完成功能,瀏覽器將記住該值。
我剛剛為此找到了一個修復程序,因此它應該在1.8.17中開始正常工作。 同時,您可以將其添加到頁面中以解決問題:
$( window ).bind( "beforeunload", function() {
$( ".ui-autocomplete-input" ).removeAttr( "autocomplete" );
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.