DataTemplateSelector
以上是一个密码字段,出于某种原因,仅在Mozilla(不在Chrome和IE11中)中自动填充。显然它保留了先前试验的价值领域。我试着清理这个领域。我可以管理的唯一方式是:
<input name="e_password" id="e_password" type="password" autocomplete="off" />
不幸的是,上面的内容会重置表单中的所有其他文本字段,这是不合需要的。另外,
$(document).ready(function(){
$('input:text').val('');
});
不起作用! 而且,我试过这个:
$(document).ready(function(){
$('input:password').val('');
});
也不是,这有效...... 当然,我尝试了显而易见的事实:
<div class="abc">
<input name="e_password" id="e_password" type="password" autocomplete="off" />
</div>
$(document).ready(function(){
$('.abc input:text').val('');
});
这也没用。 我再说一遍,问题只存在于Mozilla中。我还能做什么?
谢谢
答案 0 :(得分:3)
我找到了!!
setTimeout(function(){ $('#e_password').val('');}, 50);
希望以上作品。但是,我不能给出一个令人满意的解释,为什么这个小延迟解决了这个问题......最有可能的是,这是一个Mozilla bug。
答案 1 :(得分:2)
document.getElementById("e_password").value = "";
或
$('input[type="password"]#e_password').val('');
答案 2 :(得分:0)
$(&#34;#e_password&#34;)。val(&#39;&#39;)适用于firefox。你能尝试一下吗?
$("#e_password").attr("value","")
答案 3 :(得分:0)
Pure Javascript:
document.getElementById('e_password').value = '';
或者使用jQuery:
$('#e_password').attr('value','');
答案 4 :(得分:0)
autocomplete="off"
元素而不是form
设置 input
<form autocomplete="off">
....
</form>
答案 5 :(得分:0)
我可能错了,但我想这根本不是代码问题!!它可能是浏览器中保存的密码。例如,当您在chrome中打开页面时,只需检查多功能框的右上角,然后单击十字以删除该页面的已保存密码。我猜这是因为你说它只出现在mozilla而不是其他浏览器中。
答案 6 :(得分:0)
这是一个老问题,但我这样做的方式尚未提及。这是在尝试了这个线程中的几乎所有建议之后(除了超时,因为我不想在我的页面中添加任何不必要的延迟)。
我看到的问题是当浏览器自动填写密码字段时,未设置该值。所以
$('#password').val("");
不起作用,因为该值已经是“”。
所以我用2行做了。
$('#password').val("a");
$('#password').val("");
我将值设置为某个值,以便我可以清除它。然后清除浏览器自动填充字段。
希望这有助于那里的人!
答案 7 :(得分:0)
FF正在使用&#34;更改&#34;自动填充时的事件(至少在v51中)。
尝试类似
的内容// if your input is in html
$(document).ready(function(){
/* // if you create input from code like this
$("body").html('<input class="password" type="password" id="e_password">').promise().done(function(){
*/
$("#e_password").on("change", function() { //append this event
$("#e_password").off("change"); //optional, depends on your code
$("#e_password").val(''); //clear
$("#e_password").attr("value",""); //clear #2 (just to be sure)
});
});