如果数据库中已存在值,我尝试做的就是清空文本框。但问题是,即使数据库中不存在该值,它也会清空文本框。
在数据库中不存在的第一个try和input值中,文本框不为空。但是当我尝试输入存在的数据库时,即使该值不存在,问题也会继续存在。那是为什么?
<SCRIPT type="text/javascript">
$(document).ready(function()
{
$("#username").change(function()
{
var username = $("#username").val();
var msgbox = $("#status");
if(username.length > 4)
{
$("#status").html('<img src="loader.gif" align="absmiddle"> Checking availability...');
$.ajax({
type: "POST",
url: "ajax.php",
data: "username="+ username,
success: function(msg){
$("#status").ajaxComplete(function(event, request){
if(msg == 'OK')
{
$("#username").removeClass("red");
$("#username").addClass("green");
msgbox.html('<img src="available.png" align="absmiddle">');
}
else
{
$("#username").removeClass("green");
$("#username").addClass("red");
$("#username").val('');
msgbox.html(msg);
}
});
}
});
}
else
{
$("#username").addClass("red");
$("#status").html('<font color="#cc0000">Please nter atleast 5 letters</font>');
}
return false;
});
});
</SCRIPT>
这是我的Ajax
<?php
include('db.php');
if(isset($_POST['username']))
{
$username = $_POST['username'];
$sql = mysql_query("select id from code where username='$username'");
if(mysql_num_rows($sql))
{
echo '<STRONG>'.$username.'</STRONG> is already in use.';
}
else
{
echo 'OK';
}
}
?>