本节将介绍填报表JS函数的实例,包括:填报表是否校验,插入或增加行后的回调函数。
setCheckOnInput( Id, needCheck )
描述:
设置输入数据时是否校验,默认为true。
举例:
<raqsoft:input id="sg1"
src="/input/Tutorial/2.1.sht" //src为填报表路径文件名,使用填报教程中的例子2.1.sht
paramMode="i"
theme="bootstrap"
needImportEasyui="yes"
fixedHeader="yes"
width="100%"
height="100%"
tabLocation="top"
adp="no"
exceptionPage="myError.jsp"
/>
<script language="javascript">
setCheckOnInput( "sg1", false );
</script>
setCheckOnSubmit ( Id, needCheck )
描述:
设置提交数据前是否校验,默认为true。
举例:
<raqsoft:input id="sg1"
src="/input/Tutorial/6.1.sht" //src为填报表路径文件名,使用填报教程中的例子6.1.sht
paramMode="i"
theme="bootstrap"
needImportEasyui="yes"
fixedHeader="yes"
width="100%"
height="100%"
tabLocation="top"
adp="no"
exceptionPage="myError.jsp"
/>
<script language="javascript">
setCheckOnSubmit( "sg1", false );
</script>
setCheckOnNoData( Id, needCheck )
描述:
当提交数据前要校验时,设置当有数据区为空时是否校验,默认为false。
举例:
<raqsoft:input id="sg1"
src="/input/Tutorial/6.1.sht" //src为填报表路径文件名,使用填报教程中的例子6.1.sht
paramMode="i"
theme="bootstrap"
needImportEasyui="yes"
fixedHeader="yes"
width="100%"
height="100%"
tabLocation="top"
adp="no"
exceptionPage="myError.jsp"
/>
<script language="javascript">
setCheckOnNoData( "sg1", false );
</script>
afterInsertRow( table, rowIndex )
描述:
在展现填报表的jsp里添加本函数,实现对插入行后的事件处理。
举例:
//通过如下方法实现插入行后,复制上一行单元格的值到新插入行
function afterInsertRow( table, rowIndex ) {
var row = table.rows[ rowIndex ]; //新增加的行
var prevRow = table.rows[ rowIndex - 1 ]; //新增行的前一行
if( prevRow != null && prevRow.getAttribute( "rowL" ) != null ) { //前一行存在且是行式区的行
for( var i = 0; i < row.cells.length; i++ ) {
var cell = row.cells[i];
var prevCell = prevRow.cells[i];
_copyCellValue( prevCell, cell ); //复制单元格的真实值和显示值到目标单元格
}
}
}
beforeDeleteRow( table, currRow )
描述:
需要在展现填报表的jsp里添加本函数,实现删除行之前的事件处理。
举例:
//通过如下方法实现删除行前的确认
function beforeDeleteRow(table, currRow) {
if(confirm("确定要删除该信息吗?删除将不能恢复!"))
return true;
else
return false;
}
填报表提供了部分内置js函数用于自动计算,但是已有的内置js函数不一定满足用户五花八门的计算需求,用户往往需要自定义js函数。
使用自定义js函数可处理比较复杂的计算,如在 jsp 中定义 js 函数处理复杂计算,报表中调用这个 js 函数进行数据自动计算。
(1) 以先计算两个数之和再加上一个固定数为例。具体操作如下,在 showInput.jsp(展现填报表的 jsp)中增加如下 js 代码:
<script language="javascript">
function add200(a,b)
{
return a + b + 200;
}
</script>
(2) 自定义js函数的参数为填报表单元格。设置单元格自动计算表达式,引用该 js 函数: