【问题标题】:Checking if contents of a field were changed via a program. What event will be triggered检查是否通过程序更改了字段的内容。会触发什么事件
【发布时间】:2011-06-11 21:18:11
【问题描述】:

我有一个密码字段,因为里面有它的字段名称,所以它以input="text" 开头。当用户键入或单击它时,该字段将换出为input="password"

我们的一些用户将他们的用户名/密码存储到第三方程序中。因为密码是通过他们的功能之一写入该字段的,所以我的密码字段没有换成密码,因为没有针对它触发的事件。

第三方人员并不在乎,只是说“强硬”。

我想通过setInterval 来检查内容,但这还不够及时。

如果输入字段的内容通过函数发生更改,是否会触发任何事件。同样,我无法控制输入密码的功能。

任何建议都会有所帮助。我觉得好像这是一个失败的事业。顺便说一句,我不能使用 jQuery,因为它不是我们网站上认可的技术。但是,如果有 jQuery 解决方案,我可以看看我能做什么。

【问题讨论】:

    标签: javascript dom-events unobtrusive-javascript


    【解决方案1】:

    对于您的情况,您可以颠倒您的逻辑。您可以将该字段作为“密码”开始,然后在 setTimeOut 上检查它是否具有“密码”值。如果是,请将其设置为“文本”。

    (您可以进一步使用 'onchange' 和后端验证来禁止将单词 password 作为密码)

    【讨论】:

    • 谢谢,但我不能那样做。该字段必须是文本,因为其中必须包含“密码”一词。哑巴,我知道。我没有设计它,事实上,我反对它。
    • onchange 不起作用,因为它仍然需要用户交互。当第 3 方软件将文本放入框中时,密码必须隐藏。
    • 感谢您的帮助 :-) 非常感谢。
    • Right.. 该字段必须是文本,因为,但更重要的是 if,其中包含“密码”一词。在我看来,您可以将该字段作为password 类型开始,然后在加载时,如果该字段的值为“密码”,则将其类型更改为text。然后,onfocus 将其类型设置为 password 并将其清除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    相关资源
    最近更新 更多