2010-04-19 52 views
0

我正在使用此jquery函數進行可用的用戶名檢查。jquery用戶名檢查

只有當用戶名字段大於5個字符時,我如何才能激發這個Jquery函數?

jQuery的樣子:

$(document).ready(function() { 
$('#usernameLoading').hide(); 
$('#username').blur(function(){ 
$('#usernameLoading').show(); 

$.post("usercheck.php", { 
un: $('#username').val() 
}, function(response){ 
$('#usernameResult').fadeOut(); 
setTimeout("finishAjax('usernameResult', '"+escape(response)+"')", 400); 
}); 
return false; 
}); 
}); 

function finishAjax(id, response) { 
$('#usernameLoading').hide(); 
$('#'+id).html(unescape(response)); 
$('#'+id).fadeIn(); 
} //finishAjax 

我可以使用這樣的事情,以及如何:

var usr = $("#username").val(); 
if(usr.length >= 5) 
{ 
} 
+0

是的,你可以喜歡,只有..精細 – Karthik 2010-04-19 17:18:24

回答

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

    $('#usernameLoading').hide(); 

    $('#username').blur(function(){ 

     if ($("#username").val().length < 5) { 
      return; 
     } 

     $('#usernameLoading').show(); 
     $.post("usercheck.php", { 
      un: $('#username').val() 
     }, function(response){ 
      $('#usernameResult').fadeOut(); 
      setTimeout("finishAjax('usernameResult', '"+escape(response)+"')", 400); 
     }); 
     return false; 
    }); 
}); 

function finishAjax(id, response) { 
    $('#usernameLoading').hide(); 
    $('#'+id).html(unescape(response)); 
    $('#'+id).fadeIn(); 
} //finishAjax 
+0

感謝肯。你的回答幫了我很多。 – Sergio 2010-04-19 17:56:13

0

八九不離十,它應該工作就像是:

如果($(「#用戶名「)[0] .value.length> = 5) {

//做某事

}

0
$('#username').keypress(function(){ 

    var name = $(this).val(); 
    if (name.length > 5) doAjaxCheck(name); 


}); 

我分裂doAjaxCheck到一個單獨的功能,因爲你可能要再次檢查,因爲剪貼板操作等

0

的應該可以。只要把它放在$('#username').blur(function(){下,並把當前塊的if聲明