javascript验证。我在这做错了什么?

时间:2013-04-29 19:42:10

标签: javascript

我是JS的新手,我试图在这里进行最简单的验证,我无法让它工作:/基本上当我按提交时,我想要在表格下方的div中的错误文本或来自php的回显文本文件。它出什么问题了?我真的不知道我做错了什么,请帮忙

<form name="myform" id="myform" method="post" action="echo.php">
<label for="username">User Name:</label><br />
<input type="text" id="username" name="username" /><br />
<label for="password">Password</label><br />
<input type="text" name="password" /><br />
<input type="submit" id="submit" value="Send">
</form>
<div id="errorMessages"></div>

和JS代码:

window.onload = function(){
validateForm();
}

function validateForm(){

document.getElementById("myform").onsubmit = function(){

    if (document.getElementById("username") == ""){
        document.getElementById("errorMessages").innerHTML = "ERROR";
        return false;
        }
    else return true;
};
}

3 个答案:

答案 0 :(得分:4)

document.getElementById("username")是一个DOM元素 只要该元素存在,它就永远不会模糊地等于""

您可能需要.value,它会返回文本框的值。

答案 1 :(得分:0)

if (document.getElementById("username").value){
    document.getElementById("errorMessages").innerHTML = "ERROR";
    return false;
}
else { 
    return true;
}

注意document.getElementById返回页面上找到的DOM元素的实例。所以使用.value属性。此外,您不需要在JavaScript中将字符串与空字符串进行比较,因此请删除== ""

答案 2 :(得分:0)

这是正确的js:

window.onload = function(){
validateForm();
}

function validateForm(){

document.getElementById("myform").onsubmit = function(){

    if (document.getElementById("username").value == ""){
        document.getElementById("errorMessages").innerHTML = "ERROR";
        return false;
        }
    else return true;
};
}

在document.getElementById(“username”)之后缺少“.value”