使用jquery中的ajax方法验证表单
2011-10-28 16:18
676 查看
在进行用户从注册的时候,进场需要校验email或username是否被注册,这时候需要ajax验证,但是ajax验证无法返回回调函数的值到外部的校验方法,如
function CheckForm(){
if($("#username").val() == ''){
$("#warnning").html("<font color=red>ERROR</font>");
return false;
}
return CheckUserName(); //这里的返回值不起作用
}
function CheckUserName(){
var username = $("#username").val();
$.get("b.php",{ name:username},
function (data){
if(data == 1){
$("#warnning").html("<font color=#FF3300>Account is used.</font>");
return false; //这里是返回给CheckUserName()的吗?
} else {
$("#warnning").html("<font color=#00CC66>You can register.</font>");
return true; //这里是返回给CheckUserName()的吗?
}
}
);
}
那么该如何处理呢?
要将ajax设置为同步的,需要使用$.ajax,$.get默认是异步的,并且不是在回调函数内return,而是在CheckUserName函数中申明一个变量来接受回调函数的返回值,然后校验CheckUserName返回这个值。
function CheckForm(){
if($("#username").val() == ''){
$("#warnning").html("<font color=red>ERROR</font>");
return false;
}
return CheckUserName(); //这里的返回值不起作用
}
function CheckUserName(){
var username = $("#username").val();
var result=false;
$.ajax({async:false//要设置为同步的,要不CheckUserName的返回值永远为false
,url:'b.php',data:{name:username}
,success:function(data){
if(data == 1){
$("#warnning").html("<font color=#FF3300>Account is used.</font>");
result=false;
} else {
$("#warnning").html("<font color=#00CC66>You can register.</font>");
result=true;
}
}});
return result;//==========这里才是CheckUserName的返回值,回调函数返回值没有意义
}
function CheckForm(){
if($("#username").val() == ''){
$("#warnning").html("<font color=red>ERROR</font>");
return false;
}
return CheckUserName(); //这里的返回值不起作用
}
function CheckUserName(){
var username = $("#username").val();
$.get("b.php",{ name:username},
function (data){
if(data == 1){
$("#warnning").html("<font color=#FF3300>Account is used.</font>");
return false; //这里是返回给CheckUserName()的吗?
} else {
$("#warnning").html("<font color=#00CC66>You can register.</font>");
return true; //这里是返回给CheckUserName()的吗?
}
}
);
}
那么该如何处理呢?
要将ajax设置为同步的,需要使用$.ajax,$.get默认是异步的,并且不是在回调函数内return,而是在CheckUserName函数中申明一个变量来接受回调函数的返回值,然后校验CheckUserName返回这个值。
function CheckForm(){
if($("#username").val() == ''){
$("#warnning").html("<font color=red>ERROR</font>");
return false;
}
return CheckUserName(); //这里的返回值不起作用
}
function CheckUserName(){
var username = $("#username").val();
var result=false;
$.ajax({async:false//要设置为同步的,要不CheckUserName的返回值永远为false
,url:'b.php',data:{name:username}
,success:function(data){
if(data == 1){
$("#warnning").html("<font color=#FF3300>Account is used.</font>");
result=false;
} else {
$("#warnning").html("<font color=#00CC66>You can register.</font>");
result=true;
}
}});
return result;//==========这里才是CheckUserName的返回值,回调函数返回值没有意义
}
相关文章推荐
- 快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
- Validation-jQuery表单验证插件使用方法
- 表单验证插件jquery.validate的使用方法演示
- 使用jquery validate和ajax进行表单验证并向后台提交数据
- Jquery表单验证插件formValidator使用方法
- JQuery validate ajax 表单验证方法。
- jquery validate 在ajax提交表单下的验证方法
- Validation-jQuery表单验证插件使用方法
- jquery内置验证(validate)使用方法示例(表单验证)
- 表单验证插件 jquery.validata 使用方法
- jQuery.validator.addMethod自定义验证方法【在表单验证中的使用 $("#appEdit_Form").validate({rules : {},messages:{}】
- jquery表单验证插件与使用方法
- jQuery表单验证插件Validator的使用方法
- Jquery表单验证插件formValidator使用方法
- jquery内置验证(validate)使用方法示例(表单验证)
- liferay中使用jQuery Validation Engine进行ajax验证,不通过也提交表单的解决方案
- HTML5第8次课堂笔记( 模拟form表单提交数据,xml的解析,jQuery的Ajax方法使用, mui的ajax)
- jquery validate 在ajax提交表单下的验证方法
- Validation-jQuery表单验证插件使用方法
- jquery validationEngine 使用ajax验证不通过也提交表单