.ajaxValidator函数使用出现错误

魔术世界中文版 2012-11-14 04:32:51
下了一款名叫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"];我试了一下但是接收不到
希望用过这款插件的人能给我一些经验
...全文
228 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
williamxia8 2015-05-06
  • 打赏
  • 举报
回复
//验证手机号码规则 $("#txtMobile").formValidator({ tipid: "usernameTip", oncorrect: function () { $("#usernameTip").hide(); $("#username_succeed").addClass("icon_success"); }, onshow: "", onfocus: function () { $("#username_succeed").removeClass("icon_success"); return "请输入11位有效号码"; } }).inputValidator({ min: 11, max: 11, onerror: function () { $("#username_succeed").removeClass("icon_success"); return "请输入正确的手机号码"; } }).regexValidator({ regexp: ["mobile"], datatype: "enum", onerror: function () { $("#username_succeed").removeClass("icon_success"); return "请输入正确的手机号码"; } } ).ajaxValidator({ type: "Get", url: "Handler.ashx",//?type=mobile&id=" + $("#txtMobile").val(), data: "type=mobile&id=" + $("#txtMobile").val(), dataType: "html", async: false, success: function (data) { alert(data); var result = data;//JSON.parse(ata); if (result == "验证成功") { $("#usernameTip").hide(); $("#icon_success").addClass("icon_success"); return true; } else { //已注册 $("#username_succeed").removeClass("icon_success"); return false; } }, onerror: function (errorThrown) { $("#username_succeed").removeClass("icon_success"); //alert($("#txtMobile").val()); return "程序异常" + errorThrown; }, onwait: function () { $("#username_succeed").removeClass("icon_success"); return "正在检测..."; } }); 谁帮忙看看一直是程序异常,错误代码0
Java_er 2012-12-06
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
1,怕是输出了空白的符号,自己alert(result.length)看看是不是1,要不parseInt转化下类型 JavaScript code?1234567 if(parseInt(result) == 0){/////// //alert(result); return tru……
版主您好,请问下,我这个alert(data.length) 长度是1呢,也提示这个错误啊 dataType : "html",所以我建了一个jsp文档,里面就是 ${result}
Java_er 2012-12-06
  • 打赏
  • 举报
回复
楼主啊,我的错误跟你的是一样的,
你解决了没啊,
不管得到的是0还是1,他执行的全都是else的内容,
也就是返回


还有,就是,楼主你用的啥版本啊,我用的是4.1.1的版本,最新的是4.1.3,据说解决了少部分的Bug
,但是我直接替换4.1.1的js文件为4.1.3,貌似就不能正常运行了啊,这个咋升级呢?
谢谢。
Go 旅城通票 2012-11-14
  • 打赏
  • 举报
回复
删除你php中的空白字符内容 如 <?php ?> 看到前面空白的部分了吧,这些都会一起输出到客户端的<?php/*php代码*/?>前后的空白都删除
  • 打赏
  • 举报
回复
老大就像你所说的输出了空白的符号,alert(result.length)的结果是64然后我把编码换成 UTF-8无BOM格式,返回的结果长度变成了31,其实我就返回了一个0或1而已,其他的30个长度都 哪里来的啊,应该怎么解决这个问题?
Go 旅城通票 2012-11-14
  • 打赏
  • 举报
回复
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"];

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧