我需要优化Acrobat表单的代码。我有30多个复选框,用于查看数值的相应字段。起作用的代码如下:
var a = this.getField("fldInstBal_App_02").value;
var b = this.getField("fldInstPmt_App_02").value;
if (this.getField("chkInstPO_App_02").value!="Off"){
vInstBalApp += a;
vInstPmtApp += b;
}
else {
vInstBalApp -= a;
vInstPmtApp -= b;
}
this.calculateNow();
getField("h_InstBal_App").value = vInstBalApp;
getField("h_InstPmt_App").value = vInstPmtApp;
每个复选框都与另外两个包含数据(余额和付款)的字段相匹配。共有32个复选框触发此功能。我正在编写一个函数(表面上)减少Form中的代码量。该功能应将余额和付款的值加/减到两个文档变量的每一个中,以备后用。
我的功能代码如下...
function fSetField(vWhat, vHow, vWho, vNum) {
var a = getField("fld" + vWhat + vHow + vWho + vNum).valueAsString;
//The actual value for [a] should parse to getField("fldInstBalApp01")
//The function performs some math here and returns a value to a document variable, as shown in the above code.
}
我之所以采用这种方法,是因为该字段每次都会更改数字,这使我可以将数字传递给函数并获得正确的[getField]解析结果,仅对预期的字段执行计算。
我在每个复选框的OnClick()
事件中调用此方法:
fGetField("Inst", "Bal", "App", "01");
但是,似乎函数没有解析值,因为没有输出。
有人可以帮我弄清楚为什么它不起作用或提供替代方法吗?
谢谢。