<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<link href="css/css.css" rel="stylesheet" type="text/css" />
<script src="./js/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
 $("form :input.bt4").each(function(){
var $bt4 = $("<strong class='high'> *</strong>"); //创建元素
$(this).parent().append($bt4); //然后将它追加到文档中
});  
 
$('form :input').blur(function(){
 var $parent = $(this).parent();
 $parent.find(".formtips").remove();
//验证用户名
if($(this).is('#username') ){
if( this.value=="" || this.value.length < 5){
  var errorMsg = '请输入至少5位的用户名.';
  $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
  }else{
  var okMsg = '输入正确.';
  $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
  }
}

//判断用户名是否存在blur
$('#username').blur(function(){
var user_name = $('#username').val();
$.ajax({ url: 'zhuce_b.php',
  type: 'POST',
data: { username: user_name },
  success: function(num) {
  if (num == "1") {
  document.getElementById("errorMsg").innerHTML = "该账户已经存在!";   $parent.append('<span class="formtips onError">'+errorMsg+'</span>');  }
  else  {
 var okMsg = '输入正确.';
  $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
  }  }
  })
  })//验证密码
if($(this).is('#password')){
if(this.value=="" || this.value.length< 6){
var errorMsg = '请输入至少6为密码';
$parent.append('<span class="formtips onError">'+errorMsg+'</span>');
}else{
var okMsg = '输入正确.';
  $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');

}
}

//确认密码
if($(this).is('#password1')){
if(!this.value ||this.value != $("#password").val() ){
var errorMsg = '两次输入的密码不相同';
$parent.append('<span class="formtips onError">'+errorMsg+'</span>');
}else{
var okMsg = '输入正确.';
  $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
}
}

//验证邮箱
if($(this).is('#email')){
if( this.value=="" || ( this.value!="" && !/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(this.value) ) ){
                      var errorMsg = '请输入正确的邮箱.';
  $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
}else {
                      var okMsg = '输入正确.';
  $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
}
}
   }).focus(function(){
   $(this).triggerHandler("blur");})
//提交验证
$('#send').click(function(){
$("form :input.bt4").trigger('blur');
var numError = $('form .onError').length;
if(numError){
  alert("填写注册信息错误");
} else {
 echo  ("提交中....");
}
  })
   })
</script>
</head><body>
<form action="zhuce_a.php" method="post" >
<table cellpadding="0" cellspacing="0">
<tr>
<td>用户名:</td>
<td><input type="text" class="bt4" name="username" id="username" size="16" maxlength="16" /></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" class="bt4" name="password" id="password" size="16" maxlength="16" /></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" class="bt4" name="password1" id="password1" size="16" maxlength="16" /></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" class="bt4" name="email" id="email" /></td>
</tr>
</table>
<input type="submit" name="send" id="send" value="提交" />
</form>
</body>
</html><?php
include_once("conntent.php");
$username = $_POST['username'];
$sql = "select * from zhuce where username='".$_POST['username']."'";
echo $num = $DB_Server->num_rows($sql);
if($num == 1){
echo '1';
}else if($num == 0){
echo '0';
}
?>谁能帮我调试好了呀 谢谢了

解决方案 »

  1.   

    就是  ajax 验证用户名是否唯一 老是 出错 
      

  2.   

    老师提示 找不到 document.getElementById("errorMsg").innerHTML = "该账户已经存在!";
      

  3.   

    在<form action="zhuce_a.php" method="post" >
    下面加一句<div name="errorMsg" id="errorMsg"></div>就可以了。
      

  4.   

    你看下AJAX返回的数据是什么 ,然后再针对比如你AJAX返回NULL,你在页面写的代码是if(data=='ok'){//执行代码},那么,无论如何你的代码都不会执行
      

  5.   

    是JS错误? 
    如果是的。证明你ID为errorMsg的 东东不存在。 无论这个是div或者span 或者其他的。
      

  6.   

    是啊 
    ajax的返回是在errorMsg容器中,
    而你整个页面里找不到errorMsg容器是的 div span 都可以。
      

  7.   


      if (num == "1") {
      document.getElementById("errorMsg").innerHTML = "该账户已经存在!";$parent.append('<span class="formtips onError">'+errorMsg+'</span>');  }这里改成  if (num == "1") {
      //document.getElementById("errorMsg").innerHTML = "该账户已经存在!";$parent.append('<span class="formtips onError">该账户已经存在!</span>');  }
      

  8.   


    代码改为:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <link href="css/css.css" rel="stylesheet" type="text/css" />
    <script src="./js/jquery-1.3.1.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(function(){
    $("form :input.bt4").each(function(){
    var $bt4 = $("<strong class='high'> *</strong>"); //创建元素
    $(this).parent().append($bt4); //然后将它追加到文档中
    });   $('form :input').blur(function(){
    var $parent = $(this).parent();
    $parent.find(".formtips").remove();
    //验证用户名
    if($(this).is('#username') ){
    if( this.value=="" || this.value.length < 5){
    var errorMsg = '请输入至少5位的用户名.';
    $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
    }else{
    var okMsg = '输入正确.';
    $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
    }
    }//判断用户名是否存在blur
    $('#username').blur(function(){
    var user_name = $('#username').val();
    $.ajax({ url: 'zhuce_b.php',
      type: 'POST',
    data: { username: user_name },
      success: function(num) {
      if (num == "1") {
      document.getElementById("errorMsg").innerHTML = "该账户已经存在!";$parent.append('<span class="formtips onError">'+errorMsg+'</span>');  }
      else {
     var okMsg = '输入正确.';
    $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
      }  }
      })
    })//验证密码
    if($(this).is('#password')){
    if(this.value=="" || this.value.length< 6){
    var errorMsg = '请输入至少6为密码';
    $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
    }else{
    var okMsg = '输入正确.';
    $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}
    }//确认密码
    if($(this).is('#password1')){
    if(!this.value ||this.value != $("#password").val() ){
    var errorMsg = '两次输入的密码不相同';
    $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
    }else{
    var okMsg = '输入正确.';
    $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
    }
    }//验证邮箱
    if($(this).is('#email')){
    if( this.value=="" || ( this.value!="" && !/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(this.value) ) ){
      var errorMsg = '请输入正确的邮箱.';
    $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
    }else {
      var okMsg = '输入正确.';
    $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
    }
    }
    }).focus(function(){
    $(this).triggerHandler("blur");})
    //提交验证
    $('#send').click(function(){
    $("form :input.bt4").trigger('blur');
    var numError = $('form .onError').length;
    if(numError){
    alert("填写注册信息错误");
    } else {
    echo ("提交中....");
    }
    })
    })
    </script>
    </head><body>
    <form action="zhuce_a.php" method="post" >
    <div id="errorMsg"></div>
    <table cellpadding="0" cellspacing="0">
    <tr>
    <td>用户名:</td>
    <td><input type="text" class="bt4" name="username" id="username" size="16" maxlength="16" /></td>
    </tr>
    <tr>
    <td>密码:</td>
    <td><input type="password" class="bt4" name="password" id="password" size="16" maxlength="16" /></td>
    </tr>
    <tr>
    <td>确认密码:</td>
    <td><input type="password" class="bt4" name="password1" id="password1" size="16" maxlength="16" /></td>
    </tr>
    <tr>
    <td>邮箱:</td>
    <td><input type="text" class="bt4" name="email" id="email" /></td>
    </tr>
    </table>
    <input type="submit" name="send" id="send" value="提交" />
    </form>
    </body>
    </html><?php
    include_once("conntent.php");
    $username = $_POST['username'];
    $sql = "select * from zhuce where username='".$_POST['username']."'";
    echo $num = $DB_Server->num_rows($sql);
    if($num == 1){
    echo '1';
    }else if($num == 0){
    echo '0';
    }
    ?>