Firefox保持重新加载表单数据
我在Firefox的function方面遇到了一个很大的问题,那就是用户在重新加载F5时保留了数据。 如果我使用Ctrl + F5的forms被清除,这是伟大的。 我的问题是,并不是所有的用户都知道这是他们必须做的强制input清理。 有没有办法在HTML或响应头告诉Firefox不保存在表单中的数据?
只需添加autocomplete="off"
给你所有的input,你就可以解决问题。
<input type="text" autocomplete="off">
jQuery解决所有input和textareas
$('input,textarea').attr('autocomplete', 'off');
你也可以直接将属性添加到你的表单元素,而不是通过所有的input:
<form method="post" autocomplete="off">...</form>
但是上面提到的domReady方法对我来说并不适用…
我认为更简单快捷的方法是
$('input,textarea').attr('autocomplete', 'off');
我试过上面简短的解决scheme,但没有清楚我的页面上的select框的价值。
我最终修改了一下,现在页面上的所有inputtypes都被清除,不pipetypes如何:
var allInputs = $(":input"); $(allInputs).attr('autocomplete', 'off');
所以为了使这个运行onload我只是把它放在ready()方法:
$(document).ready(function () { var allInputs = $(":input"); $(allInputs).attr('autocomplete', 'off'); });
/*reset form elements (firefox saves it)*/ function resetElements() { var inputs = document.querySelectorAll('input[type=text]'); //you get the idea.....you can retrieve all inputs by tag name input for(var i = 0; i < inputs.length; i++) { document.getElementsByTagName('input')[i].value = ""; } var textareas = document.getElementsByTagName('textarea'); for(var i = 0; i < textareas.length; i++) { document.getElementsByTagName('textarea')[i].value = ""; } }
调用这个函数onload。
如果您想保留浏览器的自动完成function(请参阅其他有效答案),请尝试将名称属性添加到表单中并为其指定一个随机值。 它为我工作:
<form id="my-form" name="<random-hash>"> ... </form>