1

我有一个可能很容易解决的小问题,但我还没有那么好。我写了这个简单的代码

$(document).ready(function(){
    $('#email').change(function(){
        var regexp = /^\w+[@]\w+\.\w{2,4}$/;
        if(regexp.test($(this).val())){
            document.getElementById("submit").disabled = false;
        }
    });
});

它检查电子邮件在表单中是否有效,如果是,则启用提交按钮。问题是它在我点击其他任何地方后验证电子邮件,而不是在打字期间。所以基本上我必须点击电子邮件字段之外的某个地方,然后我可以点击提交。如果我将键入正确的电子邮件并且不会单击此字段之外的任何位置,则不会解锁提交。我应该在这里改变什么?有任何想法吗?我很感激所有的答案。先感谢您。

4

1 回答 1

1

尝试使用

$('#email').keyup(function(){
    var regexp = /^\w+[@]\w+\.\w{2,4}$/;
    if(regexp.test($(this).val())){
        $("#submit").prop('disabled', false);
    }
    else $("#submit").prop('disabled', true);
});

或者

$('#email').on('keyup', function(){
    var regexp = /^\w+[@]\w+\.\w{2,4}$/;
    if(regexp.test($(this).val())){
        $("#submit").prop('disabled', false);
    }
    else $("#submit").prop('disabled', true);
});

工作示例

于 2012-07-28T01:15:59.210 回答