Javascript:第一次调用函数时获取输入值时出错

时间:2015-06-17 08:17:53

标签: javascript

我在使用Javascript获取输入值时遇到一些问题,第一次调用函数时我只得到用户名输入值。我正在做一个登录输入表单,在填写所有输入之前,我不想启用登录按钮。

所以会发生什么:我双击输入字段用户名,浏览器会自动填充用户名和密码输入,因为它在内存中有。但是函数check_login_inputs()只获取第一次username的值。如果我再做一次(双击并重新选择我想要使用的用户名) - >函数check_login_inputs()获取值(usernamepassword)。

我的代码:

var input = document.querySelector('#username');
input.addEventListener('input', function(){
    check_login_inputs();
});

function check_login_inputs(){
    var username = $('#username').val();
    var password = $('#password').val();

    alert(username+' '+password);

    if (username.length < 1) {
        username_ok = false;
        $('#username').css('border', '3px red solid');
        document.getElementById("login_button").disabled = true;

    }else if (password.length < 1) {
        password_ok = false;
        $('#password').css('border', '3px red solid');
        document.getElementById("login_button").disabled = true;
    }else if (username.length > 1 && password.length > 1) {
        username_ok = true;
        password_ok = true;
        $('#username').css('border', '3px green solid');
        $('#password').css('border', '3px green solid');

        if (username_ok == true && password_ok == true) {
            document.getElementById("login_button").disabled = false;
        }
    }   

}

解决方案是在底部

1 个答案:

答案 0 :(得分:0)

好的,这是有效的:

function check_login_inputs(){
        var username = $('#username').val();
        var password = $('#password').val();

        if(username.length < 1) {
            username_ok = false;
            $('#username').css('border', '3px red solid');
            document.getElementById("login_button").disabled = true;
        }

        if(username.length > 1) {
            username_ok = true;
            $('#username').css('border', '3px green solid');
        }
        if(password.length < 1) {
            password_ok = false;
            $('#password').css('border', '3px red solid');
            document.getElementById("login_button").disabled = true;
        }
        if(password.length > 1) {
            password_ok = true;
            $('#password').css('border', '3px green solid');
        }
        if(username_ok == true && password_ok == true) {
                document.getElementById("login_button").disabled = false;
            }
        }