下了一款名叫jQuery formValidator表单验证的插件
在验证用户名的时候出现了问题.ajaxValidator({
dataType : 'html',
//async : true,
url : "register_check.php",
type:'get',
data:'username='+"12311",
success : function(result){
alert(result);
                    if(result == "0" ){
//alert(result);
return true;
}
else{
return "该用户名不可用,请更换用户名";
}
},服务器端[code=php]
$username=$_GET['username'];
$db=db::getInstance();
$sql="SELECT * FROM ikl_users WHERE user_name='$username'";
$result=$db->query($sql);
//echo mysql_num_rows($result);
if(isset($result) && mysql_num_rows($result)>0){    

echo "1";

}else{

echo "0";
}
1.现在客户端弹窗返回的值是0,但是表单验证的结果却是:"该用户名不可用,请更换用户名";
2.我怎样才能直接获取文本框中的值,官网上写的是$username=$_POST["param"];我试了一下但是接收不到
希望用过这款插件的人能给我一些经验

解决方案 »

  1.   

    1,怕是输出了空白的符号,自己alert(result.length)看看是不是1,要不parseInt转化下类型
                  if(parseInt(result) == 0){///////
                    //alert(result);
                    return true;
                }
                else{
                    return "该用户名不可用,请更换用户名";
                }2,你指定了get提交,用post获取肯定不行了,用get获取,除非指定type:"POST"
    $username=$_GET["param"];
      

  2.   

    老大就像你所说的输出了空白的符号,alert(result.length)的结果是64然后我把编码换成
    UTF-8无BOM格式,返回的结果长度变成了31,其实我就返回了一个0或1而已,其他的30个长度都
    哪里来的啊,应该怎么解决这个问题?
      

  3.   

    删除你php中的空白字符内容
    如             <?php?>看到前面空白的部分了吧,这些都会一起输出到客户端的<?php/*php代码*/?>前后的空白都删除
      

  4.   

    楼主啊,我的错误跟你的是一样的,
    你解决了没啊,
    不管得到的是0还是1,他执行的全都是else的内容,
    也就是返回
    还有,就是,楼主你用的啥版本啊,我用的是4.1.1的版本,最新的是4.1.3,据说解决了少部分的Bug
    ,但是我直接替换4.1.1的js文件为4.1.3,貌似就不能正常运行了啊,这个咋升级呢?
    谢谢。
      

  5.   


    版主您好,请问下,我这个alert(data.length) 长度是1呢,也提示这个错误啊dataType : "html",所以我建了一个jsp文档,里面就是 ${result}