1

我是 JavaScript 新手,一直在这里搜索线程,但无法弄清楚为什么我的表单没有正确运行验证。我已尝试添加警报以查找问题,它似乎在第一个 IF 语句附近。有任何想法吗?谢谢!

<script type="text/javascript">

function dataCheck()
{
        var firstName = document.getElementById("firstName").value;
        var firstName = document.myForm.firstName.value;
        var lastName = document.getElementById("lastName").value;
        var facilitator = document.getElementById("facilitator").value;
        //validate firstName field for minimum of 2 characters
        if (firstName.length < 2){
            alert("Please enter a first name with a minimum of 2 characters");
            return false;
        }
        else {retvalue = true}
        //validate lastName field for min length and numeric or alpha characters only
        if (lastName.length < 2 || lastName.){
            alert("Please enter a last name with a minimum of 2 characters");
            return false;
        }
        if( /[^a-zA-Z0-9]/.test(lastName) ) {
            alert("Last name must be alphanumeric.");
            return false;
        }
}

</script>

<form action="http://bucs601.com/submit.php" name="myForm" onsubmit="return dataCheck()" method="post">
              First name: <input type="text" id="firstName" name="firstName"><br>
              Last name: <input type="text" id="lastName" name="lastName"><br>
              Email: <input type="text" id="email" name="email"><br>
              Facilitator: <input type="text" id="facilitator" name="facilitator">
              <input type="submit" id="submit" value="Submit">
</form>
4

2 回答 2

1

我可以看到的一个明显错误是不完整的行:

if (lastName.length < 2 || lastName.){

第二个条件应该是什么?如果我删除“|| lastName”。位功能似乎工作正常。

于 2013-02-11T05:58:18.447 回答
0

应该是这样的:

代替if (lastName.length < 2 || lastName.){

if (lastName.length < 2 || lastName){

删除..

于 2013-02-11T05:57:19.730 回答