【问题标题】:Clear TextBox.Text C#/JS清除 TextBox.Text C#/JS
【发布时间】: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


【解决方案1】:

试试这个答案,语法与你的略有不同:https://stackoverflow.com/a/9686424/5013141

代替

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

试试这个:

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

【讨论】:

  • 谢谢你迈克尔...我在你的链接上找到了答案!
猜你喜欢
  • 2017-12-20
  • 1970-01-01
  • 2021-01-18
  • 1970-01-01
  • 2021-05-01
  • 2016-07-05
  • 2016-07-07
  • 1970-01-01
  • 2018-07-13
相关资源
最近更新 更多