【问题标题】:HTML/JavaScript password input onKeyUp for browser auto fill用于浏览器自动填充的 HTML/JavaScript 密码输入 onKeyUp
【发布时间】:2013-07-28 17:09:01
【问题描述】:

我有一个密码输入元素和 HTML 表单上的一些单选按钮——一个网站的登录表单。当用户在密码输入框中输入文本时,它应该选择其中一个单选按钮。我通过选择密码输入的 onKeyUp 处理程序中的单选按钮来做到这一点。

但是,有些用户会使用浏览器的密码保存功能,该功能会自动填写表单上的密码(和其他文本输入字段)。但是,至少在 Chrome 和 Firefox 上,密码自动填充不会保存登录表单上单选按钮的状态。

当浏览器自动填写密码输入时,我需要选择此单选按钮,就像我在用户输入密码时选择它一样。

当浏览器填写文本时,除了 onKeyUp 之外,还有其他事件会触发吗?如果没有,我还有其他方法可以做到这一点吗?

目标:如果在密码输入中输入了密码,则选择一个单选按钮,无论是通过键盘输入还是通过浏览器填写。

【问题讨论】:

  • 我认为你应该在输入上有一个事件(也许是onchange),并且在页面加载时也有类似if(input has something) $('.radio1').attr('checked', true);的东西

标签: javascript html forms autofill onkeyup


【解决方案1】:

您可以在页面加载时触发 keyup 事件,因此如果浏览器在该文件上写入了一些文本,它将完成您的工作。

setTimeout(function() {
     $('#your_field').trigger('keyup');
},250);

【讨论】:

  • 这几乎可以工作,除了一些浏览器在onLoad之后自动填充。我通过在 onLoad 中创建一个 250 毫秒的一次性计时器来解决它(我猜),如果输入包含文本,它会选择单选按钮。不幸的是,他们在提出脚本事件系统时没有考虑浏览器自动完成。
  • 感谢 Jason,我已根据您的修改更新了我的代码。
猜你喜欢
  • 2014-06-03
  • 2011-04-01
  • 2016-06-06
  • 2014-02-05
  • 2021-04-20
  • 2018-12-04
  • 2020-11-24
  • 2013-04-04
  • 2021-02-25
相关资源
最近更新 更多