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>