我有一个非常简单的页面,用户只需要选择一个或两个选项,并自动填充表单的其余部分。表单要求输入数据的用户填写用户名和密码。
所以我已经在网络的其他部分使用了它,但它的工作原理是密码字段没有填写它,当我按下表格上的发送时,它就失败了,没有填充passowrd。
<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();
}
如果我将字段更改为选择列表,则用作密码的字符串将正确显示为选项。但是提交表单失败,因为它需要密码类型。
这个想法是避免用户必须输入两次密码,因为它是已知值(几乎与用户名相同)。所有安全考虑因素都与此用例无关。
答案 0 :(得分:1)
试试这个:
document.getElementById("pwd").value = this.responseText;