当用户点击回来时,停止忘记文本的jQuery自动完成插件

Gle*_*ven 9 javascript browser jquery autocomplete

我正在使用jQuery自动完成插件来获取位置列表,这很好.但是,如果用户在使用自动填充文本框提交页面后单击浏览器的后退按钮,则文本框为空.如果我从文本框中取出自动完成功能并提交并单击它,则会记住该文本.

有没有办法在页面加载时停止自动完成清除文本框?

hey*_*man 12

我今天遇到了同样的问题,并找到了解决这个问题的方法.

$("#search_form").submit(function() {
    $("#location")[0].removeAttribute("autocomplete");
});
Run Code Online (Sandbox Code Playgroud)

此代码将在提交表单之前删除自动完成属性.您必须更改选择器,使它们与您的表单和输入相匹配.

  • 好的解决方法!为了更加jQuery-ish,你可以使用`$('#position').removeAttr('autocomplete');` - 如果有一个`#location`不在的话,这会给你空参考保护表单的HTML. (5认同)

Gle*_*ven 9

好吧,我发现了这个问题.它似乎是在Firefox上,而不是IE,从技术上讲,它不是由于自动完成插件.这是因为插件将属性添加autocomplete="off"到文本框中.

这样浏览器的自动完成历史记录与jquery的自动完成功能不会发生冲突,但在Firefox中,当用户单击后退按钮时,不会预先填充具有此属性的字段.

我猜测没有办法解决这个问题,它似乎是默认的浏览器行为.如果有人知道不同请发表评论.