JavaScript 不检查逻辑语句
JavaScript not checking logical statements
我遇到了javascript没有正确检查我的代码的问题。我希望有人能告诉我在这种情况下具体出了什么问题。我试图实现的是,如果任何字段为空,或者密码字段少于 8 个字符,则应显示警报,其中包含任何可能的结果。但是,如果我输入除所有字段空白之外的任何其他内容,它只会提交表单并将我发送到下一页。我在这里错过了一些基本的东西吗?
<script>
function validateForm()
{
//var x=document.register.username.value
var x="document.forms["register"]["username"].value";
var y="document.forms["register"]["homeaddress"].value";
var z="document.forms["register"]["password"].value";
if (x == "" || y == "" || z == "") {
alert("You must fill in all fields in the application");
return false;
} else if (z.length < 8) {
alert("Passwords must be at least 8 characters long");
return false;
}
return true;
}
</script>
表格如下:
<form name="register" method="post" action="tryregister.php" onsubmit="return validateForm();">
Username: <input type="text" name="username" maxlength="50"><br>
Home address: <input type="text" name="homeaddress" maxlength="50"><BR>
Password: <input type="password" name="password" maxlength="50"><br>
<input type="submit" value="Register me!">
您需要正确访问表单元素。你把它们放在一个字符串里:
更改以下行
var x="document.forms["register"]["username"].value";
var y="document.forms["register"]["homeaddress"].value";
var z="document.forms["register"]["password"].value";
自
var x=document.forms["register"].username.value;
var y=document.forms["register"].homeaddress.value;
var z=document.forms["register"].password.value;
是的,你在这里错过了基本的东西。
在您的代码中,
var x="document.forms["register"]["username"].value";
var y="document.forms["register"]["homeaddress"].value";
var z="document.forms["register"]["password"].value";
您正在声明x
是字符串'document.forms["register"]["username"].value'
。
它应该是一个计算结果为某个值的表达式。
因此,请将此代码更新为:
var x=document.forms["register"]["username"].value;
var y=document.forms["register"]["homeaddress"].value;
var z=document.forms["register"]["password"].value;
删除双引号
var x="document.forms["register"]["username"].value";
^^ ^^
这样
var x = document.forms['register']['username'].value
您需要删除 x
、y
和 z
作业两边的引号:
var x=document.forms["register"]["username"].value;
var y=document.forms["register"]["homeaddress"].value;
var z=document.forms["register"]["password"].value";
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环通过数组的If语句不起作用
- 如何在不检查HTTP标头的情况下检测移动浏览器
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 如果语句不起作用,请单击
- 三元语句不起作用
- Javascript if和else语句不起作用
- PHP代码中实现的JavaScript |if语句不起作用
- 表单验证工作不正常,在不检查条目的情况下继续
- 如果语句不起作用 - JavaScript
- 如何在不检查设备的情况下禁用移动浏览器上的滚动
- jquery -ajax 不检查控制器的布尔值
- 在if语句中检查这两个条件,即使第一个条件为false
- 简单的JS计算器-为什么不是'这个if语句不起作用
- alert语句不起作用
- 为什么“;继续”;JavaScript中的语句不正确
- 我可以在 JavaScript switch 语句中检查不相等吗?
- JavaScript 不检查逻辑语句
- 不能得到两个if else语句工作?检查字符串和数字
- 为什么这个简单的javascript语句不能检查变量是否存在?