我有这个JQuery
脚本向check_username.php
发送请求,然后在我的数据库中检查用户名是否可用并回送true
或false
并且&#&# 39;一切正常。
然而,当我在表单中输入一个不存在的用户名时,表单变为绿色,这很好,但是一旦我输入存在的用户名,它就会将表单变为红色,然后无论用什么用户名我输入它永远保持红色。
如何解决这个问题?
jquery的
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>
$(document).ready(function() {
$("#username").keyup(function(e) {
var username = $("#username").val();
$.post('check_username.php', {'username': username}, function(data) {
if(data=="true") {
$("#usergroup").addClass("input-group has-error");
} else if(data=="false"){
$("#usergroup").addClass("input-group has-success");
}
});
});
});
</script>
check_username.php
<?php
include 'includes\\connect.inc.php';
if(isset($_POST['username'])) {
$username = $_POST['username'];
$query = "SELECT id FROM users WHERE username='$username'";
$query_run = mysql_query($query);
if($query_run) {
$query_num_rows = mysql_num_rows($query_run);
if($query_num_rows==1) {
echo "true";
} elseif($query_num_rows==0) {
echo "false";
}
}
}
?>
connect.inc.php
<?php
$mysql_error = mysql_error();
$mysql_database = 'codeforum';
$mysql_host = '127.0.0.1';
$mysql_user = 'root';
$mysql_pass = '';
if(!mysql_connect($mysql_host, $mysql_user, $mysql_pass) || !mysql_select_db($mysql_database)) {
die($mysql_error);
}
?>
答案 0 :(得分:0)
想出来,使用焦点事件并没有完全符合我的要求,但事件keydown修复了它!