[英]auto run js check user name availability after user has stopped typing just doesn't work
用戶完成鍵入功能后,我已將itechroom checkUserName函數與JohnP的run js組合在一起,但它似乎不起作用...
$(document).ready(function(){
//JohnyP keydowntimer
var timer = null;
$('#username').keydown(function(){
clearTimeout(timer);
timer = setTimeout(checkUserName(usercheck), 1000);
});
//http://www.itechroom.com
function checkUserName(usercheck){
$('#usercheck').html('<img src="images/ajax-loader.gif" />');
$.post("checkuser.php", {username: usercheck} , function(data){
if (data != '' || data != undefined || data != null){
$('#usercheck').html(data);
}
});
}
})
我已經嘗試過onblur="checkUserName(this.value)"
,並且效果很好...
您的代碼未在任何地方為變量usercheck
設置值...這是我的第一個猜測。
您似乎並沒有在任何地方聲明用戶usercheck
(或者至少沒有在代碼段中設置它的值)。 似乎缺少的是...
$('#username').keydown(function () {
var usercheck = $(this).val(); // ...this line.
// etc.
});
但是, setTimeout
也有問題。 就目前而言, checkUserName(usercheck)
被立即調用,然后將返回值傳遞給setTimeout
。
由於需要傳遞參數,因此可以checkUserName
的調用checkUserName
在一個新函數中,該函數將在超時時間到期時被調用,並依次調用checkUserName
:
setTimeout(function () {
checkUserName(usercheck);
}, 1000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.