function plus(oForm,fn){ if(typof fn =="function"){ if(false===fn(oForm)) return false; } if (oForm.plus.value=='') {alert('plus is Null'); return false;} } plus(oForm,checkform)
彻底无语... 把代码转化为字符串,然后又用eval解析为代码,这和直接写代码有什么区别 你写的第二段代码等于: function checkform(oForm){ if (oForm.A.value==""){ alert('A is Null'); return false; } if (oForm.plus.value=='') {alert('plus is Null'); return false;} }//这是你后面添加的字符串转化为的代码,被重新赋值后的函数多了一个返回false的条件你这短代码根本跟什么继承重载一点关系都没,只是把变量checkform重新赋值罢了... 你可以用这段代码代替eval句,看看效果是不是一样...
function checkform(oForm){
if (oForm.A.value== ""){
alert('A is Null');
return false;
}
}
</script> <form name="myform" action=" " method=post onsubmit="return checkform(this) " >
输入A: <input tyle='text' name='A' value=''>
<!--本段是作为插件放进来的,可能开启,或者关闭-->
<!--插入开始-->
输入B: <input id="plus" tyle='text' name="plus" value="">
<script>
eval(checkform.toString().substring(0, checkform.toString().lastIndexOf("}")) + " if (oForm.plus.value=='') {alert('plus is Null'); return false;}}"); //我需要在这里写一段js 修改继承和重载checkform()函数,使之能够验证plus不为空 </script>
<!--插入结束-->
<input type="submit">
if(typof fn =="function"){
if(false===fn(oForm)) return false;
}
if (oForm.plus.value=='') {alert('plus is Null'); return false;}
}
plus(oForm,checkform)
把代码转化为字符串,然后又用eval解析为代码,这和直接写代码有什么区别
你写的第二段代码等于:
function checkform(oForm){
if (oForm.A.value==""){
alert('A is Null');
return false;
}
if (oForm.plus.value=='') {alert('plus is Null'); return false;}
}//这是你后面添加的字符串转化为的代码,被重新赋值后的函数多了一个返回false的条件你这短代码根本跟什么继承重载一点关系都没,只是把变量checkform重新赋值罢了...
你可以用这段代码代替eval句,看看效果是不是一样...
我当然知道2楼这个不是继承,覆盖方法.
另外因为不能够直接编辑这个:function checkform(oForm) 函数
一个朋友的思路,暂时是需要达到了效果
继续寻找更好的答案.