2016-03-02 108 views
3

我有一个问题,只需清除TextBox文本...我正在使用asp.net和位JS的项目。清除TextBox.Text C#/ JS

但是,看起来Mozzila对我的代码很有帮助,现在它正在扰乱我。

的想法很简单......用户可以登录,并一如既往mozzila问“保存凭据”这是很好的

enter image description here

但是,如果用户忘记了密码,选择链接,我送他与URL的邮件,他又回到了新的网页,其中有文本框

enter image description here

,由于某种原因Mozzila看到我的第一个TextBox的一个是“记忆凭据”

enter image description here

所以我想接下来的事情就

<script type="text/javascript"> 
    $(document).ready(function() { 

     document.getElementById("MainContent_txtNewPass1").value = ""; 
     document.getElementById("MainContent_txtNewPass2").value = ""; 

    }); 

</script> 

而且

protected void Page_Load(object sender, EventArgs e) 
{ 
    txtNewPass1.Attributes["AUTOCOMPLETE"] = "off"; 
    txtNewPass2.Attributes["AUTOCOMPLETE"] = "off"; 

    txtNewPass1.Text = ""; 
    txtNewPass2.Text = ""; 
} 

哪个没有工作,因为我不会问这个问题......那些编号asp:文本框是不同的,我不明白为什么会发生这种情况或如何阻止它发生?

编辑

我相信它与Mozzila凭证保存的问题,因为一旦我删除保存的密码,问题消失了。但在一天结束的时候,我只是想清除TextBox.Text

SOLUTION

如果有人得到了同样的问题...我解决了它,但使用

window.onload = function() { 
    document.getElementById("MainContent_txtNewPass1").value = ""; 
    document.getElementById("MainContent_txtNewPass2").value = ""; 
} 

相反$ (文件)。就绪(函数(){

+0

你不会相信它...简短的是,你应该包括第三,在视觉上隐藏的密码字段('型=“密码”风格='display:none'name ='ignoreMe'')在您的实际密码和确认字段之前... –

+0

原因是浏览器*太聪明*,可以自由忽略'autocomplete'属性的密码,拥有“更安全的网络”的目标 - https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion –

回答

2

试试这个答案,语法是你有什么稍有不同:https://stackoverflow.com/a/9686424/5013141

而不是

txtNewPass1.Attributes["AUTOCOMPLETE"] = "off"; 

试试这个:

txtNewPass1.Attributes.Add("autocomplete", "off"); 
+0

谢谢Michael ... I找到你的链接的答案! – Veljko89