javascript jquery函数执行顺序问题

代码修行者 2013-03-04 10:51:07
以下用fun代替function

fun one()
{
alert("one");
}
fun two()
{
one();
if(true)
{
alert("two");
}
}
//执行
two();
为什么先弹出来 two 而不是one呢?
//////////////******************源码如下****************//////////////
function posttest()
{
$.post("includes/checkusername.php","username="+$("input[name=username]").val(),function(result){
if('ok'==result)
{
$("#checkuserimg").attr("src","images/ok.jpg");
$("#checkuserimg").css("display","block");
}
else
{
$("#checkuserimg").attr("src","images/no.jpg");
$("#checkuserimg").css("display","block");
alert("用户名已经存在!!!");
return false;
}
});
}

$("form").submit(function(){

posttest();


if($("input[name=password]").val().length<2||$("input[name=password]").val().length>20)
{
alert("密码的长度必须在2~20之间");
$("input[name=password]").focus();
return false;
}
else if($("input[name=password]").val()!=$("input[name=notpassword]").val())
{
alert("密码和确认密码输入的不一样");
$("input[name=notpassword]").focus();
return false;
}



}

//可是先弹出的 密码和。。。不一样 然后才是 用户名已经存在
...全文
209 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码修行者 2013-03-05
  • 打赏
  • 举报
回复
非常感谢,是ajax的异步导致的!
bbjbepzz 2013-03-04
  • 打赏
  • 举报
回复
对LZ的第一种非常不理解,不知道你用的是什么浏览器。 第二种情况,因为你用了ajax,是一个异步的请求。所以结果是那样很正常,如果你想按顺序来执行,改成同步的就可以了。 $.ajax( { url:"includes/checkusername.php", data:"username="+$("input[name=username]").val(), async:false, success:function(result){} });

87,904

社区成员

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

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