提交后重置表单并清除缓存

时间:2009-12-10 12:39:57

标签: jquery jquery-forms-plugin

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

使用jquery form plugin这也会在表单成功提交后发生。

以下情形:

  1. 用户提交表单

  2. 显示提交成功并且表单已清除

  3. 用户导航到其他页面

  4. 用户按下后退按钮

  5. 页面将恢复到表单提交之前的状态。

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

    $(document).ready(function(){
        $('form').ajaxForm({
            success: function(responseText, statusText){
                displayMessage('form successful');
                $('form').resetForm();
            }
        });
    });
    

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

    $(document).ready(function(){
        $('form').ajaxForm().resetForm();
    });
    

    成功提交后有没有办法清除缓存?

1 个答案:

答案 0 :(得分:2)

我对JQuery的关注不多,但通常可以使用

关闭表单值的存储
autocomplete='off'

来源,例如here

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