아무 키도 누르지 않으면 AJAX 호출을 시작하는 타이머. 키를 누르면 마지막 타이머를 중지하고 새 타이머를 추가합니다. 그것이 내가하고 싶은 일이지만 성공하지 못했습니다. 여기 내 코드는 다음과 같습니다.입력이 끝날 때까지 콜백이 수행되지 않도록 방지
var t;
input.onkeyup = function(){
$('.confirmText').html('Checking...');
var timeStampObj = new Date()
var timeStamp = timeStampObj.getTime();
var oldTimeStamp = $(this).attr('timeStamp');//I store a timeStamp in the element
if(timeStamp < 500 + oldTimeStamp){
$(this).attr('timeStamp', timeStamp);
clearTimeout(t);
}
t = setTimeout(function(){
$.ajax({
url: 'serverScripts/settings/checkEmailAvailability.php',
data: 'email='+email,
success: function(text){
if(text == 'available'){
$('.confirmText').html('Available!');
}else{
$('.confirmText').html('Occupied!');
}
}
});
}, 500);//Half a second
$(this).attr('timeStamp', timeStamp);
}
그냥 작은 실수 전자 메일이 정의되지 않았습니다. – einstein
이제 해결 되었습니까? –