2012-11-23 32 views
0

我不能讓這個問題在我的代碼,每一件事情的工作正確的,但問題是,當用戶點擊或第一次在文本框中正確IMG演出..這是不正確,但我不能這樣解決用戶打字後出現問題,然後在完成用戶正確的類型後顯示,否則不顯示。任何人都可以幫我解決這個問題。我完整的jQuery和HTML或CSS代碼是在這個環節請檢查可用,解決了我的問題jQuery驗證代碼是不正確的工作

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

哇,這是一個簡單的任務很多代碼。對其進行更改,以便僅在INPUT元素的.keyup().blur()事件中執行檢查。

不是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/

+0

感謝親愛其工作 –

+0

你是最歡迎! –