1

我有一个简单的 html 登录表单,在提交之前使用 javascript 进行了验证。当我尝试提交未满足验证条件的表单时,我会像往常一样收到验证警报。但是,当它们遇到时,提交按钮变得无响应。

这是表单的 html 代码:

<form action="staff_login_process.php" class="myform" enctype="multipart/form-data" method="post" onsubmit="return validLog()">

            <fieldset>

            <div id="apply_width">

                    <div id="field_area">

                            <h2 class="white">Login</h2>

                                <label for="username">Username<span>*</span>
                                </label> <input type="text" name="email" value="" id="username" class="float_right" />

                                <label for="password">Password<span>*</span>
                                </label><input type="password" name="password" value="" id="password" class="float_right" />
                                <a class="red" href="">Forgot Password</a>

                    </div>

                    <input type="submit" value="Login" class="button" />

            </div>

            </fieldset>

        </form>

这是负责验证的Javascript代码:

function validLog() {

var username = document.getElementById('username');
var password = document.getElementById('password');


if(notEmpty(username, "Please enter username")){
    if(notEmpty(password, "Please enter password")){
    }
}

return false;

} 

function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
    alert(helperMsg);
    elem.focus(); // set the focus to this input
    return false;
}
return true;
}

我不知道该怎么做才能使这项工作正常进行,并且无法发现我在这里出错的地方,所以任何建议都会很棒。

谢谢

4

2 回答 2

2

你的validLog()函数总是返回false

改变

if(notEmpty(username, "Please enter username")){
    if(notEmpty(password, "Please enter password")) {
        return false;
    }
}

return true;
于 2012-06-08T15:43:38.453 回答
1

由于notEmpty函数返回本身trueor false,请简单地尝试

function validLog() {

   var username = document.getElementById('username'),
       password = document.getElementById('password');

   return notEmpty(username, "Please enter username") 
       && notEmpty(password, "Please enter password");
} 

因此,如果您的两个值都不为空,则将提交表单

于 2012-06-08T15:45:29.167 回答