一个页面有很多button,每个button的onclick事件都对应不同的响应函数,代码如下:<input type="button" onclick = "f1()">
<input type="button" onclick = "f2()">
<input type="button" onclick = "f3()">现需要在执行所有的onclick函数前,都执行一段校验权限的逻辑。简单的办法是,直接把校验权限的代码加到所有的函数前,如下:Function f1(){
If(校验通过){
//执行原有的业务逻辑
}else {
alert(您没有权限!);
Return false;
}
}但问题是,由于button很多所以要改很多代码,且代码不易扩展。想请教大家,有没有更好的方法,能实现需求,且代码可扩展和免于改变?javascript事件
<input type="button" onclick = "f2()">
<input type="button" onclick = "f3()">现需要在执行所有的onclick函数前,都执行一段校验权限的逻辑。简单的办法是,直接把校验权限的代码加到所有的函数前,如下:Function f1(){
If(校验通过){
//执行原有的业务逻辑
}else {
alert(您没有权限!);
Return false;
}
}但问题是,由于button很多所以要改很多代码,且代码不易扩展。想请教大家,有没有更好的方法,能实现需求,且代码可扩展和免于改变?javascript事件
<script type="text/javascript">
function f1(){
alert(1);
}
function f2(){
alert(2);
}
function f3(){
alert(3);
}
window.onload = function(){
var _buttons = document.getElementsByTagName('input');
for(var i = 0 ; i < _buttons.length ; ++i){
if(_buttons[i].type=='button'){
(function(_i){
var fn = _buttons[_i].onclick;
if(fn){
_buttons[_i].onclick = function(){
alert('第'+(_i+1)+'个click之前调用的函数');
fn();
}
}
})(i);
}
}
}
</script>
<input type="button" onclick = "f1()">
<input type="button" onclick = "f2()">
<input type="button" onclick = "f3()">
LZ试下这个,在window.onload里面加
给表单写onsubmit事件就行了
写一个校验的函数
点击按钮后函数去获取校验规则校验试试
<input type="button" onclick = "if(kkk()){f1()}">
这里又分三种情况:
1.post请求,这个可以按你的方法做
2.ajax请求
3.本地操作,比如打开文件(如果session过期不允许打开本地文件)后两种情况需要在前台点击按钮前进行判断。