JavaScript 不检查逻辑语句

标签 javascript php forms

我遇到了 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;

关于JavaScript 不检查逻辑语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200906/

相关文章:

javascript - 用onclick将一行代码写入div

php - Aviary jquery 将表单变量传递给发布 url

javascript - 使用远程内容的 jQuery UI 模态对话框表单

javascript - 获取在单击事件上创建的输入字段的值

CSS 输入字段样式魔法

javascript - 如何在 Silex 中使用 JQuery Ajax

javascript - 未悬停时运行函数

javascript - 自执行函数中的内部变量处理

php - 无法将数据库值 "1876-01-01 00:00:00-00:00:00"转换为 Doctrine 类型日期时间

PHP 魔术方法示例