如何通过使用浏览器的自动完成检测用户是否填写了输入?

时间:2013-07-19 19:01:41

标签: javascript jquery

我目前有一个登录屏幕,我禁用了登录按钮,直到用户输入了他们的帐号#和他们的SSN的最后4个。只要用户手动输入此信息,它就可以正常工作。但是,如果用户决定使用自动完成来填写表单,则会遇到问题,因为他们必须从输入字段中选中,以便注册输入已输入并启用“登录”按钮。

一旦用户自动完成所有操作,我是否可以自动启用LogIn按钮(假设数据正确)?这就是我到目前为止所做的:

    $("input[type=text], input[type=password]").on("keyup", enableLogIn);
    $("input[type=text], input[type=password]").bind("paste", enableLogIn);

    function enableLogIn() {
        if ($("#AccountNumber").val().length < 6 || $("#SocialSecurityNumber").val().length < 4) {
            $("#loginButton").attr("disabled", true);
        } else {
            $("#loginButton").attr("disabled", false);
        }
    }

1 个答案:

答案 0 :(得分:0)

我认为在修改字段时会触发edit事件,而不会等待标记。另请注意,您可以向.on提供多个事件。

$("input[type=text], input[type=password]").on("keyup paste input", enableLogIn);

但是,这可能与浏览器有关,我不认为旧浏览器会有此事件。