Javascript表单验证未检查给定变量
Javascript Form Validation Not Checking Given Variable
我试图使用Javascript验证表单,但密码长度检查不起作用,但从我所看到的代码中没有明显的错误。
形式:
<form id="reg_form" onsubmit="return false;">
<input type="text" maxlength="255" placeholder="Email..." name="email" /><br />
<input type="password" placeholder="Password..." name="password" /><br />
<input type="text" maxlength="30" placeholder="Username..." name="username" /><br />
<input type="text" maxlength="255" placeholder="First Name..." name="fname" /><br />
<input type="text" maxlength="255" placeholder="Last Name..." name="lname" /><br />
<!-- Start Div With reCaptcha In -->
<!-- End Div With reCaptcha In -->
<input type="submit" value="Sign-up" onclick="register(this.form, this.form.email, this.form.password, this.form.username, this.form.fname, this.form.lname);" />
</form>
Javascript函数:
<script>
function register(form, email, password, username, fname, lname) {
document.getElementById("reg_error").style.display = "block";
if (email.value.length < 1) {
document.getElementById("reg_error").innerHTML = "Please Enter An Email Address!";
return;
}
if (password.value.length < 6) {
document.getElementById("reg_error").innerHtml = "Passwords Must Be Longer Than 6 Characters!";
return;
}
if (username.value.length < 5 || username.value.length > 30) {
document.getElementById("reg_error").innerHTML = "Username Must Be Between 5 And 30 Characters Long!";
return;
}
if (fname.value.length < 1) {
document.getElementById("reg_error").innerHTML = "Please enter a first name!";
return;
}
if (lname.value.length < 1) {
document.getElementById("reg_error").innerHTML = "Please enter a last name!";
return;
}
var info = new FormData();
info.append("email", email.value);
info.append("p", hex_sha512(password.value));
password.value = "";
info.append("username", username.value);
info.append("fname", fname.value);
info.append("lname", lname.value);
if (window.XMLHttpRequest) {
register_ = new XMLHttpRequest();
} else {
register_ = new ActiveXObject("Microsoft.XMLHTTP");
}
register_.onreadystatechange = function () {
if (register_.readyState == 4 && register_.status == 200) {
document.getElementById("reg_error").innerHTML = register_.responseText;
}
}
register_.open("POST", "scripts/signup.php", true);
register_.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
register_.send(info);
}
</script>
除了查询密码值长度的if语句外,所有if语句都能正常工作。如有任何帮助,我们将不胜感激。当我通过console.log()测试这些值时,这些值被正确地传递了出去;
我使用的是HTML5 Boilerplate。我不想使用jQuery来做这件事。
您在这部分拼错了innerHTML
:
if (password.value.length < 1) {
document.getElementById("reg_error").innerHtml = ...
更改为:
document.getElementById("reg_error").innerHTML = ...
相关文章:
- 如何检查名为id的变量属性
- 如何检查ES6“;变量“;是恒定的
- 检查数组中的变量
- 如何在JavaScript中检查变量是否为null和/或未定义
- 检查变量是否为字符串的简单方法
- 检查是否已设置GET变量
- .validate规则:检查jquery变量
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- Selenium-检查变量中的字符
- 如何使 toString 检查 2 个变量
- 设置JavaScript变量以稍后检查定义
- 检查变量并将它们添加到逗号分隔的列表中
- 当chrome检查器为jQuery变量返回[object object]时,如何返回实际数据
- NodeJS,使用 Eclipse Debugger 进行变量检查
- 变量检查(讨论5113374的扩展)
- 变量检查错误的代码(javascript)
- javascript可以将变量检查放在字符串中吗
- 用javascript变量检查if条件
- 用一个变量检查多个输入字段
- 在javascript中使用变量检查复选框是否被选中