javascript即使在刷新页面后仍保留隐藏输入变量的值(F5或单击浏览器的刷新按钮)

javascript即使在刷新页面后仍保留隐藏输入变量的值(F5或单击浏览器的刷新按钮),javascript,refresh,retain,Javascript,Refresh,Retain,我正面临一个奇怪的问题,也许你们中的一些人已经面对了。 问题是 我的html中有一个隐藏的输入字段(使用perl/mason) 获取价值并对其进行处理。 最重要的是每次我访问javascript函数中的一个新变量中的这个值时,假设noB=3,进行一些处理,并用新值1更新隐藏变量noB,所以我使用的不是全局变量 现在,如果我在javascript中更改noB,那么在使用F5刷新页面之后,当页面再次加载时,我尝试获取值 var noB = jQuery('#noB').val(); 我只得到noB

我正面临一个奇怪的问题,也许你们中的一些人已经面对了。 问题是

我的html中有一个隐藏的输入字段(使用perl/mason)

获取价值并对其进行处理。
最重要的是每次我访问javascript函数中的一个新变量中的这个值时,假设
noB=3
,进行一些处理,并用新值1更新隐藏变量
noB
,所以我使用的不是全局变量

现在,如果我在javascript中更改
noB
,那么在使用F5刷新页面之后,当页面再次加载时,我尝试获取值

var noB = jQuery('#noB').val();
我只得到
noB=1
,而它应该是3


请提供帮助。

Firefox(可能还有其他浏览器)将使用刷新页面时的值重新加载表单元素,即使该值不是HTML中指定的值。简单的解决方案:通过导航返回页面重新加载页面,而不是刷新页面。

如果这是浏览器问题,请尝试强制浏览器不缓存页面内容

这可以通过将以下
标记放入HTML标题中来实现:

    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

虽然这是一个非常古老的问题,但我遇到了一个类似的问题,并找到了这个解决方案:

  • 使用label.innerHTML存储值,而不是使用隐藏的输入字段
  • 您可以使用javascript访问/更改标签的innerHTML值
  • 标签的值将在每次刷新页面时刷新

  • 希望有帮助。

    谢谢你的回复,安东尼。我理解这一点,问题是表单元素中的值发生了变化,但javascript使用的是它创建的最后一个值。有没有办法避免它或者它只是一个浏览器问题
    var noB = jQuery('#noB').val();
    
        <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">