我在function()中要写个公用函数去页面上text的值,
function Getinfo() {
    var data = "";
.....
    var flag = true;
    if (!($("#isbyrodno").attr("checked") || $("#isbydate").attr("checked"))) {
        AlertMsg("请选择查询条件!");
        flag = false;
    }
    if ($("#isbyrodno").attr("checked") && $("#isbydate").attr("checked")) {
        AlertMsg("只能选择一种查询模式!");
        flag = false;
    }
    if (flag)
        data += prefromid + beginnum + endnum + begindatetime + enddatetime;
    else
        data = "";
    return data;
}我想在flag为false时让下面的代码不执行,怎么做呢

解决方案 »

  1.   

    如果下面的代码没有在这个函数内 var flag = true;function Getinfo() {
        var data = "";
    .....
           if (!($("#isbyrodno").attr("checked") || $("#isbydate").attr("checked"))) {
            AlertMsg("请选择查询条件!");
            flag = false;
        }
        if ($("#isbyrodno").attr("checked") && $("#isbydate").attr("checked")) {
            AlertMsg("只能选择一种查询模式!");
            flag = false;
        }
        if (flag)
            data += prefromid + beginnum + endnum + begindatetime + enddatetime;
        else
            data = "";
        return data;
    }把flag放到外面就行
      

  2.   

         var sqlstr = Getinfo();//我想在flag=false时这句话不执行
    function Getinfo() {
        var data = "";
    .....
        var flag = true;
        if (!($("#isbyrodno").attr("checked") || $("#isbydate").attr("checked"))) {
            AlertMsg("请选择查询条件!");
            flag = false;//原来这里就是return;现在两个地方用到了这些代码,我才想到放到一个function中的,貌似在function中就不能直接写return了
        }
        if ($("#isbyrodno").attr("checked") && $("#isbydate").attr("checked")) {
            AlertMsg("只能选择一种查询模式!");
            flag = false;
        }
        if (flag)
            data += prefromid + beginnum + endnum + begindatetime + enddatetime;
        else
            data = "";
        return data;
    }
      

  3.   

    function 中可以写return 啊,就是跳出函数
    flag赋值在Getinfo中,肯定要先执行Getinfo啊
      

  4.   

    if里面加一个return 就可以了 
    eg:
        if (!($("#isbyrodno").attr("checked") || $("#isbydate").attr("checked"))) {
            AlertMsg("请选择查询条件!");
            flag = false;
            return;
        }
      

  5.   

    写判断了。。FALSE就不执行.true 就执行
    if()
     var sqlstr = Getinfo();
    else
    ...
      

  6.   

    或者用 if(){} else if(){}else{}
      

  7.   

    感觉LZ的两个if判断有问题
    $("#isbydate").attr("checked")如果为true 第二个if永远进不去
      

  8.   

    你在flag=false后面加上
     return false;
     就回到了主函数了(跳出方法,后面的代码就不执行了)
      

  9.   

    else里面写什么呢?能让它停止运行
      

  10.   

    flag在函数里是局部变量,怎么在外面判断呢。
      

  11.   


     var data = "";
    .....
        var flag = true;function Getinfo() {
      global flag;
        if (!($("#isbyrodno").attr("checked") || $("#isbydate").attr("checked"))) {
            AlertMsg("请选择查询条件!");
            flag = false;
        p(flag);
           return 
        }
        elseif ($("#isbyrodno").attr("checked") && $("#isbydate").attr("checked")) {
             global flag;
            AlertMsg("只能选择一种查询模式!");
            flag = false;
           p(flag);
            return;
        }
    else return f();
        
    }function p(flag)

    data += prefromid + beginnum + endnum + begindatetime + enddatetime;return data;}
    function f(){return data;
     
    }
      

  12.   

    global flag; 这个去掉 我是和php混在一起