我已经结合了itechroom checkUserName函数 在用户完成输入功能后,使用JohnP的运行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)"
并且效果很好......
答案 0 :(得分:0)
您的代码未在任何地方为变量usercheck
设置值...这将是我的第一次猜测。
答案 1 :(得分:0)
您似乎无法在任何地方声明usercheck
(或者至少在代码段内没有设置其值)。似乎缺少的是......
$('#username').keydown(function () {
var usercheck = $(this).val(); // ...this line.
// etc.
});
但是,setTimeout
也存在问题。按照目前的情况,立即调用checkUserName(usercheck)
,然后将返回值传递给setTimeout
。
由于你需要传递一个参数,你可以将一个新的函数包含在checkUserName
的调用中,该函数将在超时到期时调用,然后调用checkUserName
:
setTimeout(function () {
checkUserName(usercheck);
}, 1000);