用法说明
首先我们认识润乾报表关于填报表的数据提交的两个javascript函数,_submitTable()与_submitReport(),这两个函数的共同点是提交网页上的数据到数据库中,完成数据的入库操作;不同点是前者在提交数据到数据库前会调用润乾报表的数据校验javascript函数或表达式,同时也会调用由用户定义的javascript数据校验函数,在通过合法性校验的情况下再对数据提交,而后者不会对数据进行任何校验,只是原汁原味的把数据直接提交到数据库。
对于填报表,用户在页面中填写数据后,需要点击按钮或超链接来触发_submitTable()或_submitReport()函数对数据进行提交到服务器。例如,在默认情况下,润乾会自动生成提交到数据库的一个span,代码如下:
<span id=runqian_submit style="cursor:pointer" onClick="_submitTable( report1 )"> 保存数据</span>
也就是在点“保存数据”后,报表系统对数据处理、入库。这里的处理包括合法性校验、自动计算(需要在报表中设置数据提交时完成自动计算属性)等。
_submitTable()与_submitReport()是两个极限函数,即要么对用户的合法性表达式或函数逐个(这里包括同一个表达式或者函数,但调用各函数参数值不一样)进行校验,要么不进行任何的校验。正因为这样,如果遇到数据入库刚开始时想对数据进行合法性校验,一但出错,弹出校验不成功能的确认窗口,由用户选择“确定/取消”本次提交操作来控制流程,则显得无能为力。例如:在某填报表中,需要对录入的年纪进行合法性校验,如果输入年纪大于18,则认为是合法的数据,否则弹出选择对话框,由用户选择是否提交到数据库,如选确定,则在有提示的情况下忽略本校验同时继续校验其它数据,在其它数据通过校验或由用户点确定忽略的情况下仍然提交数据;否则直接取消,不再对其它数据进行校验。可能大家不理解为什么校验不通过还要提交到数据库,举个简单的情况,如填报用户在某些原因下认为17岁也是正确的数据而选择“确定”,则也把数据直接提交到数据库中。