JS检查两个文本字段是否为空

时间:2012-05-07 11:52:33

标签: javascript html textbox

我有两个HTML格式的文本字段,当点击一个按钮时,我需要检查它们是否为空。

但我有一个工作,我的第二个工作不起作用,

这里是代码:

<!DOCTYPE html "> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <title>appLounge webService</title> 
    <link rel="stylesheet" type="text/css" media="all" href="css/reset.css" /> 
    <link rel="stylesheet" type="text/css" media="all" href="css/text.css" /> 
    <link rel="stylesheet" type="text/css" media="all" href="css/960.css" /> 
    <link rel="stylesheet" type="text/css" media="all" href="css/demo2.css" /> 

<script type='text/javascript'>
function notEmpty(login, password, helperMsg){
    if(login.value.length == 0){
        alert(helperMsg);
        login.focus();
        return false;
    }

    if(password.value.length == 0){
        alert(helperMsg);
        password.focus();
        return false;
    }

    return true;
}

</script>
</head> 



<body> 
<div class="container_12"> 

<!-- login data -->

    <div id="header" class="grid_12" style="background : url(img/login.png) no-repeat; background-size: 100%; height: 900px;" > 

<form>
        <div id="fieldLogin1">
            <input type="text" id='req1' name="userName" style="width:530px; height:44px" placeholder="UserName";  /><br />
        </div>
            <div class="clear">&nbsp;</div> 

        <div id="fieldLogin2">
             <input type="text" id='req2' name="password" style="width:530px; height:44px" placeholder="Password" />

        </div>
                    <div class="clear">&nbsp;</div> 

        <div id="checkBoxRememberMe">


                    <input  type="checkbox" name="remember" value="rememberYes" /> <br />

<form>

<input type='button' 
    onclick="notEmpty(document.getElementById('req1'), 'req2','Please Enter a Value')"
    value='Check Field' />
</form>

        </div>



    </div> <!-- end .grid_12 --> 
    <div class="clear">&nbsp;</div> 

</form>

</div> 
<!-- end .container_12 --> 
</body> 
</html> 

我试过了

onclick="notEmpty(document.getElementById('req1'), ('req2'),'Please Enter a Value')"

同样,但也不起作用,这是问题吗?

非常感谢!

3 个答案:

答案 0 :(得分:3)

onclick="notEmpty(document.getElementById('req1'), 'req2','Please Enter a Value')"
value='Check Field' />

实际应该是

onclick="notEmpty(document.getElementById('req1'), document.getElementById('req2'),'Please Enter a Value')"
value='Check Field' />

编辑(由@dante建议):

以下代码可以更具可读性:

onclick="notEmpty('req1', 'req2', 'Please Enter a Value')"
value='Check Field' />

function notEmpty(loginId, passwordId, helperMsg) {
    var login = document.getElementById(loginId);
    if (!login.value.length) {
        alert(helperMsg);
        login.focus();
        return false;
    }

    var password = document.getElementById(passwordId);
    if (!password.value.length) {
        alert(helperMsg);
        password.focus();
        return false;
    }

    return true;
}

(在旁注中,尽可能习惯使用===而不是==,所以你不能成功地结束(哼...)将布尔值与{{1}进行比较一天。它也快一点:))

答案 1 :(得分:2)

您将字符串作为第二个参数传递给not Empty。试试这个:

onclick="notEmpty(document.getElementById('req1'), document.getElementById('req2'),'Please Enter a Value')"

答案 2 :(得分:2)

调用该函数时,您在密码字段中忘记了document.getElementById()

onclick="notEmpty(document.getElementById('req1'), document.getElementById('req2'),'Please Enter a Value')"