【问题标题】:Automatically fill value on HTML field type=password for a web form自动填充 HTML 字段 type=password 的值以用于 Web 表单
【发布时间】:2017-06-13 16:32:30
【问题描述】:

我有一个非常简单的页面,用户只需要选择一两个选项,它就会自动填写表单的其余部分。表单要求输入数据的用户填写用户名和密码。

所以我已经在网络的其他部分使用它并且它可以工作,但是对于密码字段它没有填写它,并且当我在表单上按发送时它失败了,因为没有填写密码。

<select id="username" name="username" onChange="getpass(this.value)">
....
....
<input id="pwd" size="10" type="password" name="password" value="">

更改时调用的 javascript 是:

function getpass(str) {

var xhttp;
  if (str.length == 0) {
    document.getElementById("pwd").innerHTML = "";
    return;
  }
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("pwd").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "getpass.php?q="+str,  true);
  xhttp.send();
}

如果我将该字段更改为选择列表,则用作密码的字符串将正确显示为选项。但提交表单失败,因为它需要密码类型。

这样做是为了避免用户必须输入两次密码,因为它是已知值(几乎与用户名相同)。在此用例中,所有安全考虑均不相关。

【问题讨论】:

  • 你会用jQuery吗?
  • 哇。摒弃这种思维方式。始终使用密码确保安全,不要设置优先级。切勿存储明文密码。
  • 另外,当浏览器提示输入密码时,指示他们点击“存储密码”,您将获得更安全的解决方案。
  • 我知道我知道。我也很痛。但是密码字段并不是真正的密码。只是存储的另一个字符串,然后转换为条形码并打印以进行激光扫描。他们以这种方式从仓库的一侧走到另一侧。我必须使用密码字段,因为条形码生成应用程序和扫描仪从数据库密码字段中获取值。海龟是不是一路下来。

标签: javascript php html forms


【解决方案1】:

试试这个:

document.getElementById("pwd").value = this.responseText;

【讨论】:

    猜你喜欢
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多