目录

实用代码举例

实用代码举例

从上述实现思路可以看出,我们只能对用户自定义检验函数作文章。要重载_submitTable(),先定义一个变量,用于保存用户面对错误警告时的选择,如:

var marker = 2; //为0表示直接提交,为1表示取消返回,为2表示继续合法性检查

根据前面的思路,重载的_submitTable ()方法如下:

function _submitTable( table ) {if( ! _submitEditor( table ) ) return false; //将当前编辑框的数据输入到table中去if( ! eval( table.id + "_checkValid()" ) ) { //对用户自定义的数据进行校验return false;}if(marker==0 || marker==2){_submitReport( report1 );//没有任何错误情况下直接入库}marker = 2;//重置取消标记return true;}

而本例中,校验函数可以如下:

function check( ….){if(marker==0){return true} //表示直接提交,不进行合法性检查else if(marker==1){return false} //表示取消返回else{if(……){ //如果合法性检查不通过marker = window.showModalDialog("…….htm",……,"……"); //打开模式窗口,提交、取消、忽略分别对应0、1、2if(marker==0 || marker==2) return true; //如果为0,直接提交,如果为2,忽略else return false; //如果为1,取消返回}else{return true;}}}