使用jQuery验证插件"remote"选择
Using the jQuery validate plugin with the "remote" option
我正在使用jQuery验证插件及其远程选项来检查输入字段中用户名的存在性。我使用以下代码:
remote : {
url :'ajax_php/admin/checking.php',
type :'post',
data : {
type:'username'
}}
我注意到请求URL附加了一个回调参数,即使我将类型请求设置为post
:
http://localhost/lopoli2/ajax_php/admin/checking.php?callback=jQuery15104128487491980195_1311232389069
我的PHP脚本工作良好,并返回true
有效的用户名和一个字符串无效的用户名。但是没有出现错误信息!我的PHP文件如下所示:
$check = mysql_query("select `username` from `user_tbl` where `username`='".$_POST['username']."' ",$conn)
or die('Error In DB !');
if (mysql_num_rows($check)>0){
echo("username is already exists");
}else{
echo("true");
}
我想知道的是:
- 什么是回调参数?
- 如何解决"显示错误信息"的问题?
尝试更改:
echo("username is already exists");
echo("false");
我认为你必须在php脚本中返回true或false。然后,您可以通过使用options对象中的messages参数使用自定义错误消息来设置错误消息。
我也认为你的数据参数配置错误。文档里是这样的。不过,你说它有用,所以可能是不同的版本?(http://docs.jquery.com/Plugins/Validation/Methods/remote选项)
remote: {
url: 'ajax_php/admin/checking.php',,
type: "post",
data: {
username: function() {
return $("#username").val();
}
}
}
然后在php脚本中返回'true'或'false'。你可以使用jquery validate插件
设置错误信息$check = mysql_query("select `username` from `user_tbl` where `username`='".$_POST['username']."' ",$conn)
or die('Error In DB !');
if (mysql_num_rows($check)>0){
echo 'false';
}else{
echo "true";
}
下面是如何添加消息参数(http://docs.jquery.com/Plugins/Validation/validate#options)
$(".selector").validate({
rules: yourRules,
messages: {
username: {
remote: "Username already exists"
}
}
})
返回值被认为是布尔值(true/false)或字符串(将被处理为false并显示返回的文本)。
另外,使用header('content-type:text/plain');
将输出设置为text/javascript或text/plain也很重要。所以在php中,当返回值时,你应该注意返回值的类型,如下所示:
回声"真正的";//=> true,布尔值。说明验证结果为真,一切正常。
回声"假";//=> false,布尔值。表示验证结果错误,并显示在验证器对象
中配置的消息。呼应的"假";//=> "false",字符串。说明验证的结果是错误的,并且返回的字符串将显示为错误。
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中