大多数浏览器都会缓存表单值,因此当用户导航到另一个页面然后按下后退按钮时,不必重新开始。
使用jquery form plugin这也会在表单成功提交后发生。
以下情形:
用户提交表单
显示提交成功并且表单已清除
用户导航到其他页面
用户按下后退按钮
页面将恢复到表单提交之前的状态。
提交后调用resetForm()只会返回初始表单值,但不能解决缓存问题。
$(document).ready(function(){
$('form').ajaxForm({
success: function(responseText, statusText){
displayMessage('form successful');
$('form').resetForm();
}
});
});
加载页面时调用resetForm()可解决缓存问题,但在页面之间导航时会破坏预期的浏览器行为:
$(document).ready(function(){
$('form').ajaxForm().resetForm();
});
成功提交后有没有办法清除缓存?
答案 0 :(得分:2)
我对JQuery的关注不多,但通常可以使用
关闭表单值的存储autocomplete='off'
来源,例如here
据我所知,没有其他跨浏览器方式影响浏览器在其缓存中存储的值。我认为不太可能以编程方式访问这些内容,因为这会带来复杂的安全隐患。