Javascript 防止chrome向后/向前填充历史记录上的选择字段

Javascript 防止chrome向后/向前填充历史记录上的选择字段,javascript,html,google-chrome,autocomplete,Javascript,Html,Google Chrome,Autocomplete,我有一个带有自定义onsubmit处理程序的表单,它读取输入中选择的值 当我在Chrome中打开此页面时,从下拉列表中选择一个值,在我的历史记录中返回一页,然后再向前一页以再次使用表单登录到页面上,该选项在通过JS使用$'selector'访问字段时已被选中。val返回一个空值 我已经尝试在标记上指定autocomplete=off,但没有成功。同时,禁用该页的缓存也没有帮助 有没有关于如何修复此问题的建议?这是由于chrome的强大历史表单缓存 我也没有找到CSS或HTML解决方案。所以我用J

我有一个带有自定义onsubmit处理程序的表单,它读取输入中选择的值

当我在Chrome中打开此页面时,从下拉列表中选择一个值,在我的历史记录中返回一页,然后再向前一页以再次使用表单登录到页面上,该选项在通过JS使用$'selector'访问字段时已被选中。val返回一个空值

我已经尝试在标记上指定autocomplete=off,但没有成功。同时,禁用该页的缓存也没有帮助


有没有关于如何修复此问题的建议?

这是由于chrome的强大历史表单缓存

我也没有找到CSS或HTML解决方案。所以我用JS做了。 每次显示页面时,无论页面是从历史缓存加载还是刚刚重新加载,浏览器都会触发pageshow事件

使用jQuery:

$(window).bind("pageshow", function() {
    $('#your_form_id')[0].reset();
});
对于纯JS:

var oForm2Reset = document.getElementById('your_form_id');
if( oForm2Reset ) {
    window.onpageshow = function() {
        oForm2Reset.reset();
    };
}
var oForm2Reset = document.getElementById('your_form_id');
if( oForm2Reset ) {
    window.onpageshow = function() {
        oForm2Reset.reset();
    };
}