函数不是从使用onClick事件调用的主JS函数调用的

时间:2017-07-30 14:49:45

标签: javascript jquery html

我是一名新的网络开发人员。我在HTML页面模式中有一个按钮。使用getElementById捕获Onclick事件。然后,我试图调用验证函数signinVals()。该控件出现在此函数中,但此函数未被调用。 “usrname”是此模态中的输入元素。

有人可以帮忙吗?

document.getElementById("loginBtn").onclick = function () {
    signinVals();
}

//all sign in validations
function signinVals() {
    validateEmail();

    if (validateEmail()) {
        validatePassword();
    }
}

// validate email 
function validateEmail() {
    var uemail = document.signinformid.usrname.value;
    alert(uemail.value);
    var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (uemail.value.match(mailformat)) {
        return true;
        alert("Sign in: Corect email.");
    }
    else {
        alert("Sign in: Invalid email entered. Please recheck.");
        uemail.focus();
        return false;
    }
}
                <div class="modal-body">
                    <form role="form" name="signinformid">
                        <div class="form-group">
                            <label for="usrname" class="sr-only"><span class="glyphicon glyphicon-user"></span> Username</label>
                            <input type="text" class="form-control" id="usrname" placeholder="Enter user name (email id)">
                        </div>
                        <div class="form-group">
                            <label for="psw" class="sr-only"><span class="glyphicon glyphicon-eye-open"></span> Password</label>
                            <input type="text" class="form-control" id="psw" placeholder="Enter password">
                        </div>
                        <div class="checkbox">
                            <label><input type="checkbox" value="" checked>Remember me</label>
                        </div>
<!--                        <button type="submit" class="btn btn-success btn-block" onclick="signinVals(usrname,psw)"><span class="glyphicon glyphicon-off" ></span> Login</button>-->
                        <button type="submit" id="loginBtn" class="btn btn-success btn-block"> <span class="glyphicon glyphicon-off"></span>Login</button>
                    </form>
                </div>

2 个答案:

答案 0 :(得分:1)

目前,validateEmail()函数未返回任何值。

return Booleantruefalse,或从{{truefalse评估的值1}}函数调用validateEmail()Boolean函数调用if条件下进行评估。

答案 1 :(得分:0)

如果我理解你,也许这会对你有所帮助。当然是jQuery,因为它很好用

编写
  $('#loginBtn').click(function(){
  validateEmail();
  });


function validateEmail() {
    var uemail = $('#YOURTEXTAREAHERE').val();
    alert(uemail);
    validatePassword();

}

此外,我认为这是错误的,你永远不应该写

if (validateEmail()) {
}

因为你总是列出函数,这意味着它们总是在那里。使用字符串或对象,如

var temp = {}
temp.useme = 'bla bla'

temp.useme也可以在脚本的任何地方使用,如果它将在里面创建的话。