javascript jquery函数执行顺序问题
以下用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;
}
}
//可是先弹出的 密码和。。。不一样 然后才是 用户名已经存在
javascript
jquery
function
fun
------解决方案--------------------对LZ的第一种非常不理解,不知道你用的是什么浏览器。
第二种情况,因为你用了ajax,是一个异步的请求。所以结果是那样很正常,如果你想按顺序来执行,改成同步的就可以了。
$.ajax(
{
url:"includes/checkusername.php",
data:"username="+$("input[name=username]").val(),
async:false,
success:function(result){}
});