根据收到的数据更改课程?

时间:2015-08-07 17:33:24

标签: php jquery

我有这个JQuery脚本向check_username.php发送请求,然后在我的数据库中检查用户名是否可用并回送truefalse并且&#&# 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);
}
 ?>

1 个答案:

答案 0 :(得分:0)

想出来,使用焦点事件并没有完全符合我的要求,但事件keydown修复了它!