当您键入有效的电子邮件时请注意它...然后删除此电子邮件并且它不会隐藏“提交”按钮。有一个jsFiddle:

http://jsfiddle.net/BGNsS/

谁能帮我?

谢谢!

最佳答案

检查有效的正则表达式和长度。您的正则表达式在空白字段中成功。

您可以在此处检查jQuery元素集合的长度

if(!$("#sForm input#write").length > 0) $("input#sub").hide();


但是您必须检查值的长度

detectEmail.length == 0


Updated jsFiddle

$('input#sub').hide();

$('input').keyup(function() {
    $('span.attention').hide();

    var detectEmail = $(this).val();
    var emailRegex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

    if(detectEmail.length == 0 || !emailRegex.test(detectEmail))
    {
        $('#sub').hide();
        $(this).after('<span class="attention">Writing valid e-mail...</span>');
    }
    else
    {
        $('#sub').show();
    }
});

10-07 21:13