Javascript没有显示错误

时间:2014-05-21 18:26:33

标签: javascript html

<html>
<head>
<script>
function registerform(){
    var fullnameExp = /^[a-zA-Z]+$/;
    var firstname= document.getElementById('firstname');
    var lastname= document.getElementById('lastname'); 

    if(firstname.value.match(fullnameExp)){
    }else{
        document.getElementById("errorname").innerHTML="[Please type in alphabets only!]";
        return false;

    }
    if(lastname.value.match(fullnameExp)){
    }else{
        document.getElementById("errorname").innerHTML="[Please type in alphabets only!]";
        return false;
    }
    return true;
}


</script>
</head>
<form method="post" onSubmit = "return registerform();">
<input type='text' id='firstname' size="50" />
<span id="errorname"></span><br>
<input type='text' id='lastname' size="50" />
<span id="errorname"></span><br>

<input type= "Submit" value="Submit" />
</form>
<body>
</body>
</html>

我试图在这里做的是验证我的名字和姓氏,但是代码只显示第一个名字的错误。为什么返回工作?我错误地使用了return false。可以帮助和解释一下

2 个答案:

答案 0 :(得分:2)

第一个条件中的

return语句结束方法..所以你可以将valdiation信息存储在变量中并返回它

function registerform(){
    var fullnameExp = /^[a-zA-Z]+$/;
    var firstname= document.getElementById('firstname');
    var lastname= document.getElementById('lastname'); 
    var isValid =true;
    if(firstname.value.match(fullnameExp)){
    }else{
        document.getElementById("errorname").innerHTML="[Please type in alphabets only!]";
        isValid= false;

    }
    if(lastname.value.match(fullnameExp)){
    }else{
        document.getElementById("errorname").innerHTML="[Please type in alphabets only!]";
        isValid = false;
    }
    return isValid;
}

答案 1 :(得分:0)

else{
    document.getElementById("errorname").innerHTML="[Please type in alphabets only!]";
    var firstnamevalid = false;

}
if(lastname.value.match(fullnameExp)){}
else{
    document.getElementById("errorname").innerHTML="[Please type in alphabets only!]";
    var lastnamevalid =  false;
}
if (!firstnamevalid|| !lastnamevalid)
    return false;
return true;
像这样的事情会做你想要的我相信的事情。

基本上正如上面提到的那个人提到的那样,如果方法返回一些内容,在代码中使用return语句会立即退出该方法。这样做的目的是保存您的名字和姓氏验证,然后检查是否有一个是假的。如果是,那么你返回false,如果它们都是真的那么你就可以返回true。