在OnClientClick事件中调用两个函数

时间:2010-11-08 11:02:51

标签: asp.net

我想检查asp.net按钮控件的OnClientClick事件中的两个条件。我试过这个,但它只是检查第一个功能。

OnClientClick="javascript:shouldSubmit=true; return checkFunction1(); return checkFunction2();

这是正确的方法吗?

3 个答案:

答案 0 :(得分:3)

在不知道这两个功能的情况下,我建议采用以下几点:

... OnClientClick="return check();" ...

function check(){
  // Call function1 and save the return value.
  var success1 = checkFunction1();
  // Call function2 and save the return value.
  var success2 = checkFunction2();

  // Return the logical combination of the two values:
  // If both are true, return true, otherwise return false.
  return success1 && success2;
}

根据您正在进行的检查,您可能希望更加聪明一点 - 因此,如果checkFunction1返回false,则不要打扰checkFunction2

function check(){
  if (checkFunction1()){
    // function1 returned true, continuing:
    if (checkFunction2()){
      // function2 returned true, allow click to continue:
      return true;
    }
  }

  // One or more returned false:
  return false; 
}

如果你真的想要全部内联,你可以这样做:

OnClientClick="javascript:shouldSubmit=true; return checkFunction1() && checkFunction2();

答案 1 :(得分:0)

当你返回时,javascript停止执行下一个语句,所以你最好把“checkFunction2()”放在“checkFunction1()”里面

答案 2 :(得分:0)

我应该这样做:

... OnClientClick="return check();" ...

function check(){
   checkFunction1();
   checkFunction2();
}