我在Firefox中的功能存在很大问题,它会保留用户在重新加载 F5 时填写的数据。如果我使用 Ctrl + F5 ,表格将被清除,这很棒。我的问题是并非所有用户都知道这是强制输入清理所必须做的。是否有一种方法在html或响应标头中告诉Firefox不要将数据保存在表单中?
答案 0 :(得分:76)
只需在输入中添加autocomplete="off"
即可解决问题。
<input type="text" autocomplete="off">
jQuery在所有输入和textareas上解决这个问题
$('input,textarea').attr('autocomplete', 'off');
答案 1 :(得分:14)
您也可以将属性添加到表单元素中,而不是遍历所有输入:
<form method="post" autocomplete="off">...</form>
然而,domReady上面提到的方法对我不起作用......
答案 2 :(得分:6)
我认为更容易,更快捷的方法是
$('input,textarea').attr('autocomplete', 'off');
答案 3 :(得分:5)
我尝试了上面的缩短解决方案,但它没有清除我页面上选择框的值。
我最后稍微修改了它,现在无论类型如何,页面上的所有输入类型都被清除:
var allInputs = $(":input");
$(allInputs).attr('autocomplete', 'off');
所以为了使这个运行onload我只是把它放在ready()方法中:
$(document).ready(function () {
var allInputs = $(":input");
$(allInputs).attr('autocomplete', 'off');
});
答案 4 :(得分:5)
/*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。
答案 5 :(得分:2)
In case you want to keep the autocomplete feature of the browser (see other valid answers), try adding the name attribute to the form and give it a random value. It has worked for me:
<form id="my-form" name="<random-hash>">
...
</form>
答案 6 :(得分:1)
只是为了支持@jonnybradley 的解决方案(无法对他的回答发表评论,因为我还没有足够的代表):
这对我来说也很完美:
document.getElementById('theFormId').reset();
在 HTML 代码之后调用。
答案 7 :(得分:0)
我发现唯一适合我的解决方法是
ffmpeg -ss 00:30 -i PICT0050.AVI -vframes 1 -q:v 2 output1.jpg
magick compare -metric PSNR output1.jpg output2.jpg diff.jpg
9.2191
magick compare -metric PSNR output1.jpg output3.jpg diff.jpg
7.70127
在页面早期准备好文档之前,如上述@Marek的评论所建议-不好,但对我有用(通过jQuery,JS或HTML的autocomplete属性方法最终并没有为我解决)
答案 8 :(得分:0)
我的一位同事建议我们应使用随机字符串作为表单名称。如果您不使用表单的name
属性,则效果很好。
这是sf1表单生成器中的一个示例:
public function renderFormTag($url, array $attributes = [])
{
..
$attributes['name'] = isset($attributes['name']) ? $attributes['name'] : bin2hex(random_bytes(16));
..
}