function chkTelOutDate()
   {
    
 $.post(
       "userChkTelOutDate.asp",
   {id:<%=userId%>},
   function(data)
   {
     if(data=="true")
 {
  $("#telOutDate_err").text("当天只能申请一次手机激活码,请隔天重试!");
  $("#telOutDate_err").removeClass();
  $("#telOutDate_err").addClass("err");
  chk2=false;   //当chk2为false,有没有办法让函数chkTelOutDate()返回为这里的chk2
 }
 else
 {
   chk2=true;
 }
 
   }
  );
  return chk2;  //chk2有什么办法得ajax处理后的值, 现在得不到chk2
   } 
问题在注释里面

解决方案 »

  1.   

    你对chk2的赋值在,ajax的回调函数中进行了。你的return chk2在ajax调用函数完成后就返回了,此时异步的ajax还没返回值呢。
      

  2.   

    async: false,
    参数中添加上这个
      

  3.   

    那要怎样得到ajax处理完后的值做为函数的返回值呢
      

  4.   

    在你的function(data)
    中调用要处理chk2变量的函数啊。
      

  5.   

    或者象3楼一样把ajax改成同步的。可是如果处理的慢的话页面会卡死一会,这就失去用ajax的本意了。
      

  6.   

    "userChkTelOutDate.asp",
    {id:<%=userId%>},在这个后面加上
    async: false,
    async是参数  false是值 
      

  7.   

    看着不象jquery啊,你还是看一下,你用的框架的post方法的说明吧,肯定有一个参数是指定是否异步的。当然我以前用过的一个超轻量级ajax框架根本就没这个参数,我就只能自己加了。
      

  8.   

    是jquery啊$.ajax 有async: false   $.post没看到,会出错