一个简单的JS-PHP验证(或者我认为)

时间:2013-11-07 23:14:00

标签: javascript php validation

有人可以告诉我这件事我做错了吗?我看到人们在GetElementsByName()中使用引号,我看到过没有人的人。当用户名为空时,生成的脚本不执行任何操作。

if (document.getElementsByName('username').length < 1) {
        alert("Username must be filled out");
        return false;
     }

来自HTML的调用是这样的:

<form name="stafflogin" action="usermain.php" onsubmit="return validateForm()" method="post">
<p>Username:
    <input type="text" id="username" name="username" size="15" value=""/>  <br />
Password: <input type="password" id="userpass" name="password" size="15" value=""/>
<input type="submit" id="submit" name="submit" value=" - Submit - ">
</p>

我知道这一定是简单的事情,所以请原谅我这样的愚蠢。

2 个答案:

答案 0 :(得分:0)

在这种情况下,使用document.getElementById("username")可能会更聪明 - 这会返回单个元素而不是数组。

干杯,
弗洛里安

答案 1 :(得分:0)

document.getElementsByName('username').length < 1说“如果文档中没有名为'username'的元素” - 这将始终为false,因为文档中有这样的元素,并且{{1}的返回值是一个数组。

你的意思是

getElementsByName

但我真的认为使用

更好(更容易阅读和更难搞乱)
if (document.getElementsByName('username')[0].value.length < 1)

由于目标元素也有一个id,所以最好使用if (document.getElementsByName('username')[0].value == "") 直接返回你正在寻找的元素(没有数组来混淆事物)并且速度更快:

getElementById