日期:2014-05-16  浏览次数:20454 次

关于javascript事件触发多个函数的使用
http://blog.csdn.net/jungle_java/article/details/6618325


今天在项目中遇到一个问题:有两个在不同的js文件中的函数,一个是用来校验form中的日期输入是否合法一个是用来重置iframe的src。

我在onclick事件中触发了这两个方法,此处暂时定为fun1和fun2,其中fun1用来校验合法性,fun2用来重置src。

最初的时候我是这样用的onclick="fun1();fun2()",但是,在fun1验证没有通过的时候fun2仍然执行了。



之后,经过多方查证,得出如下结果

view plain
onclick="return false; alert(1)"    //点击按钮画面没有反应 
 
onclick="return true;alert(1)"     //点击按钮画面没有反应 
 
onclick="alert(2);alert(1)"     //画面显示提示框2和提示框1 
 
onclick="if(1){alert(1);}"    //画面显示提示框1 

根据第四个例子的思想我可以在if语句中执行fun1,然后根据其返回值来判断是否执行fun2,即最终的解决办法是

onclick = "if(fun1(param1,param2)){fun2();}";    //此处特别要注意的一点是:fun1中必须要有返回值(true或者false)

通过这些也了解了js中return语句的使用