【问题标题】:Text fields don't get updated using the browser back button使用浏览器后退按钮不会更新文本字段
【发布时间】:2013-06-05 23:43:12
【问题描述】:

我一直在寻找这方面的信息,但我没有得到解决方案。

我在页面上有一些文本字段,我使用 jQuery 事件在 blur 上进行了更新。 没有要提交的表单,更新是在后台使用 jQuery $.post 进行的。

如果用户更新了这些输入,然后单击链接转到页面的另一部分,然后使用浏览器的 返回按钮返回,则这些输入不会显示最后设置的值由用户输入,但如果有,则由用户输入,或者如果没有,则为空文本输入。

用户将此报告为错误(甚至更多的是浏览器行为),我想知道是否有任何解决方案。

我一直在看thisthis 之类的东西,但它们并没有解决我遇到的问题。我没有表单,没有提交,也不想重置表单。

我注意到这个问题不会出现在 IE 9 和 Firefox 中,但它会出现在 Chrome 中。

用户可以导航到具有超过 12 个文本字段的不同页面(超过 30 个),因此我放弃了将它们存储在会话中的想法。

有什么办法可以解决吗?

谢谢。

【问题讨论】:

    标签: javascript jquery http web-applications web


    【解决方案1】:

    我不知道我的解决方案能不能解决你的问题,但是:

    如果您将data 绑定到您的输入怎么办?例如,您可以在 input 上设置动态数据

    $('input').data( 'val' , $(this).val());
    

    然后通过

    重新绑定
    $('input').val( $(this).data() ) ;
    

    不要完全遵循这些代码行,我试图让您了解我在想什么。我希望它可以帮助你。 http://api.jquery.com/data/ 文档为.data()

    【讨论】:

      猜你喜欢
      • 2010-09-20
      • 1970-01-01
      • 2015-03-30
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      相关资源
      最近更新 更多