我遇到的问题是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!">
答案 0 :(得分:2)
您需要正确访问表单元素。你把它们放在一个字符串里面:
更改以下行
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;
答案 1 :(得分:2)
删除
周围的双引号var x="document.forms["register"]["username"].value";
^^ ^^
这样
var x = document.forms['register']['username'].value
答案 2 :(得分:2)
是的,你在这里缺少基本的东西。
在您的代码中,
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;
答案 3 :(得分:1)
您需要删除x
,y
和z
的作业周围的引号:
var x=document.forms["register"]["username"].value;
var y=document.forms["register"]["homeaddress"].value;
var z=document.forms["register"]["password"].value";