jquery验证代码无法正常工作

时间:2012-11-23 10:55:47

标签: jquery-ui jquery jquery-plugins

我无法在我的代码中得到问题,每件事情都正常但问题是当用户点击或首次关注文本框时正确的img显示..这是不正确的但是当用户输入完成后我无法解决这个问题用户正确的类型然后显示否则不显示。任何人都可以帮我解决这个问题。我的完整jquery和html或css代码可以在这个链接中找到并解决我的问题

my code link

我认为这个功能的错误,但icant得到了问题

$('#step1 #fName').focus(function(){

        if($('#step1 #fName').hasClass('error_Aplha')==true)
        {
            $('#step1 #fntick').removeClass('block');    
        }
        else {
            $('#step1 #fntick').addClass('block');
        }
    }).blur(function(){

        if($('#step1 #fName').hasClass('error_Aplha')==true)
        {
            $('#step1 .fname_error').fadeIn(100).delay(2000).fadeOut(1000);
            $('#step1 #fntick').removeClass('block');    
        }
        else {
            $('#step1 .fname_error').removeClass('block');    
            $('#step1 #fntick').addClass('block');
        }

    });

提前致谢

1 个答案:

答案 0 :(得分:1)

哇,这是一个简单任务的代码。更改它,以便仅在.keyup()元素的.blur()INPUT事件中进行检查。

不是100%确定预期的行为是什么,但这可能会让你开始:

$(document).ready(function(e) {

    var errorAlpha = function() {
        var reg = /^([A-Za-z]+)$/;
        var check = $(this).val();
        if (reg.test(check) == true && check.match(reg) != null) {
            // VALID
            $(this).removeClass('error_Aplha');
            $(this).next('img').addClass('block');
            $(this).prevAll('span.tooltip2').stop(true).delay(500).fadeOut(400);
        } else {
            // INVALID
            $(this).addClass('error_Aplha');
            $(this).next('img').removeClass('block');
            $(this).prevAll('span.tooltip2').fadeIn(500).delay(2000).fadeOut(1000);
        }
    };

    $('#step1 #fName, #step1 #lName').on('keyup blur', errorAlpha);

});​

演示:http://jsfiddle.net/gU3PU/6/