谷歌浏览器后退按钮input内值丢失的问题

Posted 蔷薇骑士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷歌浏览器后退按钮input内值丢失的问题相关的知识,希望对你有一定的参考价值。

问题描述:

商品页面,有四个input框,

 技术分享

输入数字后,点击按钮跳转到其他页面,然后点浏览器的返回按钮,这里记录的数字会出现错误(丢失了一个数字)。只有谷歌浏览器出现这个问题,其他浏览器没发现。

 

经过排查,发现是有一句JS引起的:

 

$(‘#searchkey‘).attr(‘autocomplete‘,‘off’)

 

上面的搜索框关掉自动完成属性这句JS引起的。删除后,问题解决。

 

 

可能原因:

 

谷歌浏览器在加载的时候,判定了input的个数,放入缓存,浏览器回退按钮点击后,取对应的数据放到对应的input中。

而JS动态的autocomplete=off,浏览器并没有记录,使得浏览器在取缓存数据的时候,也会将一份数据放到这个input中。

又由于这个input被JS设置为autocomplete=off,使得他被分配的值没有展示。最后看起来,就像是下方的input的值丢失一样。

 

 

解决方案:

 

1.autocomplete=off写到input的属性里面,不要用JS

2.或者这段JS就删掉就好咯~

 

 

以上是关于谷歌浏览器后退按钮input内值丢失的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何用jQuery禁用浏览器的前进后退按钮

JQuery 阻止浏览器后退按钮

js 监控用户点击浏览器“后退”按钮(并禁用),能实用IE和360两种浏览器

当在rails中按下浏览器的后退按钮时,在注销后进入登录页面

浏览器后退按钮跳转到最后一个位置(如 maps.google.com)

谷歌浏览器书签丢失后的恢复方法