0

私は私のコードで問題を取得できません、すべてが適切に機能していますが、問題は、ユーザーがテキストボックスの正しいimg showを初めてクリックまたはフォーカスしたときに、これは正しくありませんが、ユーザーが入力したときにこの問題を解決できませんでした。次に、表示されない場合は表示されません。誰かがこの問題に関して私を助けることができますか?私の完全なjqueryとhtmlまたはcssコードはこのリンクで利用可能ですplsチェックして私の問題を解決しました

私のコードリンク

私はこの機能にエラーがあると思いますが、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');
        }

    });

前もって感謝します

4

1 に答える 1

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/

于 2012-11-23T12:18:20.970 に答える