我已经组合了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
(或者至少没有在代码段中设置其值)。似乎缺少的是…
$('#username').keydown(function () {
var usercheck = $(this).val(); // ...this line.
// etc.
});
但是,setTimeout
也有问题。目前,checkUserName(usercheck)
被立即调用,然后返回值被传递给setTimeout
。
由于您需要传递一个参数,因此可以将对checkUserName
的调用封装在一个新函数中,该函数将在超时到期时调用,然后调用checkUserName
:
setTimeout(function () {
checkUserName(usercheck);
}, 1000);
您的代码不会在任何位置为变量usercheck
设置值。。。这将是我的第一个猜测。