【发布时间】:2016-06-14 16:13:12
【问题描述】:
我在简单地清除 TextBox 文本时遇到问题...我正在使用 asp.net 和一些 JS 进行项目。
但似乎 Mozzila 对我的代码来说太强大了,现在它困扰着我。
想法很简单......用户可以登录,并且像往常一样mozzila询问“保存凭据”这很好
但是如果用户忘记了他的密码,选择链接,我给他发送带有 URL 的邮件,他会回到带有文本框的新页面
由于某种原因,Mozzila 将我的第一个 TextBox 视为它“记住凭据”的那个
所以我尝试了接下来的事情
<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:TextBoxes 的 ID 不同,我不明白为什么会发生这种情况或如何阻止它发生?
编辑
我确定 Mozzila 凭据保存有问题,因为一旦我删除保存的密码,问题就消失了。但在一天结束时,我只想清除那个 TextBox.Text
解决方案
如果有人遇到同样的问题......我解决了,但使用
window.onload = function () {
document.getElementById("MainContent_txtNewPass1").value = "";
document.getElementById("MainContent_txtNewPass2").value = "";
}
取而代之的是 $(document).ready(function () {
【问题讨论】:
-
您不会相信...简而言之,您应该在实际密码和确认字段之前包含第三个视觉隐藏的密码字段 (
type='password' style='display: none' name='ignoreMe')... -
原因是浏览器太聪明了,可以随意忽略密码的
autocomplete属性,目标是拥有一个“更安全的网络” - @ 987654324@
标签: javascript c# asp.net