2012-12-09 83 views
0

我在模糊的使用jQuery AJAX的onblur用户名可用性检查

respose做用户名可用性是可用获得的萤火

我的问题是加载图像是不断旋转。

的ReferenceError在萤火控制台: finishAjax没有定义

的setTimeout( “finishAjax( '信息', ' ”+逸出(响应)+“')”,450); 这是它

<script type="text/javascript" src="jquery-1.3.2.js"></script> 
<link href="css.css" media="screen" rel="stylesheet" type="text/css" /> 

<script type="text/javascript"> 

function check_username() { 

$.post("check_username_availablity.php", { 
username: $('#name').val(), 
}, function(response){ 
//$('#Info').fadeOut(); 
//$('#Loading').hide(); 
setTimeout("finishAjax('Info', '"+escape(response)+"')", 450); 
}); 

function finishAjax(id, response) { 

$('#'+id).html(unescape(response)); 
//$('#'+id).fadeIn(1000); 
} 

} 
</script> 

</head> 
<?php 
include('dbcon.php');?> 
<body> 

<form action="#" name="customForm" id="customForm" method="post" enctype="multipart/form-data"> 

<div class="both"> 
<h4> Try "Zeeshan" , "John" , "Katty", "Jimmy" </h4><br clear="all" /><br clear="all" /> 
<br clear="all" /> 
<div> 
<label>User Name</label> 
<input id="name" name="username" type="text" value="" onblur="check_username()"/> 
<div id="Info"></div> 
<span id="Loading"><img src="loader.gif" alt="" /></span> 
</div> 
</div> 

</form> 

</body> 
</html> 


<?php 
include('dbcon.php'); 
if($_REQUEST) 
{ 
$username = $_REQUEST['username']; 
$query = "select * from register where username = '".strtolower($username)."'"; 
$results = mysql_query($query) or die('ok'); 

if(mysql_num_rows(@$results) > 0) // not available 
{ 
echo '<div id="Error">Already Taken</div>'; 
} 
else 
{ 
echo '<div id="Success">Available</div>'; 
} 

}?> 

谢谢..

+0

你尝试过** ajaxComplete()** http://api.jquery.com/ajaxComplete/ – Jai

回答

1

你需要传递函数名的setTimeout不调用它,也可以使用匿名函数来调用函数是它的身体。

setTimeout(function(){ 
    finishAjax('Info', escape(response)) 
} 
, 450);​ 
+0

嘿,我通过分离两种功能纠正我的错误。我唯一的问题是loader.gif没有停止。 – user1883013

+0

谢谢你,http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Adil

+0

Thanks @Asad,真好。 – Adil

1

如果您使用的是setTimeout,则您的函数需要关闭响应变量。试试这个:

​​