首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提交后重置表单和清除缓存

提交后重置表单和清除缓存
EN

Stack Overflow用户
提问于 2009-12-10 12:39:57
回答 1查看 15.9K关注 0票数 3

大多数浏览器都缓存表单值,因此当用户导航到另一个页面,然后按后退按钮时,就不必再重新开始了。

对于jquery表单插件,这也是在表单提交成功之后发生的。

以下情景如下:

  1. 用户提交表单
  2. 消息显示提交成功,表单被清除。
  3. 用户导航到其他页面。
  4. 用户按后退按钮
  5. 页还原到表单提交之前的状态。

提交后调用resetForm()只会返回初始表单值,但不会解决缓存问题。

代码语言:javascript
运行
复制
$(document).ready(function(){
    $('form').ajaxForm({
        success: function(responseText, statusText){
            displayMessage('form successful');
            $('form').resetForm();
        }
    });
});

在加载页面时调用resetForm()解决了缓存问题,但在页面之间导航时破坏了预期的浏览器行为:

代码语言:javascript
运行
复制
$(document).ready(function(){
    $('form').ajaxForm().resetForm();
});

是否有一种方法在成功提交后清除缓存?

EN

回答 1

Stack Overflow用户

发布于 2009-12-10 12:49:06

我不太喜欢JQuery,但通常可以通过以下方式关闭表单值的存储

代码语言:javascript
运行
复制
autocomplete='off'

源(例如这里 )

据我所知,没有其他跨浏览器方式影响浏览器在缓存中存储的值。我认为不太可能以编程的方式访问这些内容,因为这会带来复杂的安全问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1880731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档