下面代码里有post方法,我想执行完这个post之后,在继续往下之后那个return true; 但是因为post是异步调用,可能在没有接到返回值之前已经执行了return true。这个该怎么办啊? 就是说怎么才能保证post的收到返回值啊?function checkmail() {
var input = $("#email_reg");
if (input.val() != null && input.val().length > 4 && input.val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) ){
$("#email_info").attr("class","hint ok");
$("#email_info").html("正确");
}else{
$("#email_info").attr("class","hint warning");
$("#email_info").html("请输入有效的Email");
return false;
} txt=$("#email_reg").val();
$.post("<?php echo $vars['url']; ?>action/xiao_theme_default/checkaccount",{a:txt},function(result){
if(result['bExist'])
{
alert('不能使用重复的邮箱地址,请使用其他的邮箱地址!');
return false;
}
},"json");
return true;
}
var input = $("#email_reg");
if (input.val() != null && input.val().length > 4 && input.val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) ){
$("#email_info").attr("class","hint ok");
$("#email_info").html("正确");
}else{
$("#email_info").attr("class","hint warning");
$("#email_info").html("请输入有效的Email");
return false;
} txt=$("#email_reg").val();
$.post("<?php echo $vars['url']; ?>action/xiao_theme_default/checkaccount",{a:txt},function(result){
if(result['bExist'])
{
alert('不能使用重复的邮箱地址,请使用其他的邮箱地址!');
return false;
}
},"json");
return true;
}
解决方案 »
- 【经验分享】Javascript几个原创小技巧。
- Extjs问题 求解答 感激不尽~
- 纯js如何创建一个css+div+iframe
- 正则问题
- 请问如何在只有flash动画的页面调用window.open()函数?救命!
- 如何通过程序选择textarea内指定文字?
- var WshShell =new ActiveXObject("WScript.Shell"); 怎么创建对象出错???
- 请问如何将JScript.Encode编码的东东反编码?
- 如何将 textarea 随窗口大小变化而变化?
- 怎么得到document.referrer的值
- 请问,超长数据如何存储?不能使用文件。
- JS 模态窗口 传入参数调用函数
{
async:false,
.....
}