在不使用200行var的情况下,在结果字段中添加顺序命名的变量?[PDF表格]

Add sequentially-named variables in a resulting field without using 200 var lines? [PDF Form]

本文关键字:变量 顺序 表格 PDF 添加 字段 200行 var 结果 情况下      更新时间:2023-10-16

我正在尝试对PDF表单的字段(sum)中具有顺序名称的变量求和,但代码不起作用。对于所有编程来说,我都是新手,我读过一些关于数组的文章,但只发现了在出现问题之前完全声明(写入)所有变量的情况。我的例子正是找到一个工作代码,在求和运算中"数组"按顺序命名的变量。我的变量命名为textbox1textbox2、。。。,textbox200(所有这些都是可变的整数),所以我非常想找到一种方法来避免写下200个var [i]=this.getField("textbox[i]");整理200条var线路。。。我试过这个:

var x=this.getField ("sum")
x.value = 0;
for(var i = 0; len = 201; i < len; i++) {
x.value += (var [i]=this.getField("textbox[i][1]"));
}

可能是逻辑/语言原理都错了,有人能给我指路吗?EDIT:另外,考虑到pdf表单js似乎需要在任何变量后面加一个.value,这可能是代码中另一个缺失的方面,但我不确定它会放在哪里。尝试更改为(var [i].value=this.getField("textbox[i][1]")),但sum字段仍然没有显示任何内容。

谢谢。

PS。我意识到,通过选择要添加的字段,PDF表单可以很容易地执行求和操作,但考虑到我需要它比只添加字段更有灵活性(并且不愿意点击500+中的200个复选框),我需要使用javascript控制台进行计算(我认为)。

编辑2:也尝试过,在看起来有意义的地方添加了.值。

var x=0;
for(var i=1; i<=200; i++) {
var y=this.getField("textbox"+i)
x.value = x.value + y.value
} 
event.value = x.value

总和字段框仍然没有响应。

根据EDIT2中的代码,问题出在"x"上。您将其定义为数字,而数字没有value属性。

因此,这应该起作用:

var x = 0 ;
for (var i = 1 ; i <= 200 ; i++) {
x += this.getField("textbox"+i).value*1 ;
}
event.value = x ;

我们将字段值乘以1,以将其强制为一个数字,这对于处理空字段是必要的(空字段具有空字符串的值,这意味着数字不是相加的,而是连接的)。