簡體   English   中英

jquery-ui自動完成中斷瀏覽器對填寫表單字段的存儲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM