我正在尝试使用字段(sum
)中的顺序名称为PDF表单添加变量,但代码不起作用。
对于所有编程的新手,我已经在数组上阅读了一些内容,但只发现了在问题出现之前所有变量都被彻底声明(写入)的情况。我的情况就是找到一个工作代码,它在sum操作中“排列”顺序命名的变量。
我的变量名为textbox1
,textbox2
,...,textbox200
(所有这些都是不同的整数),所以我非常想找到一种方法来避免记下200 var [i]=this.getField("textbox[i]");
整理200条线条......
我试过这个:
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]"));
}
可能有一些错误的逻辑/语言原则,有人可以给我指示吗?编辑:另外,考虑到pdf格式js似乎在任何变量之后需要.value
,这可能是代码中另一个缺少的方面,但我不确定它将放在何处。尝试改为(var [i].value=this.getField("textbox[i][1]"))
,求和字段仍未显示任何内容。
感谢。
PS。我知道PDF表单可以通过选择要添加的字段很容易地执行求和操作,但考虑到我需要它比仅添加字段(并且不愿意点击500+中的200个复选框)具有更大的灵活性,我需要使用用于计算的JavaScript控制台(我认为)。
EDIT2:尝试了这一点,将.value添加到似乎有意义的地方。
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
总和字段框仍无响应。
答案 0 :(得分:0)
根据EDIT2中的代码,问题在于&#34; x&#34;。您将其定义为数字,并且数字没有值属性。
因此,这应该有效:
var x = 0 ;
for (var i = 1 ; i <= 200 ; i++) {
x += this.getField("textbox"+i).value*1 ;
}
event.value = x ;
我们将字段值乘以1,以强制它为数字,这是处理空字段所必需的(空字段具有空字符串的值,这意味着数字不会被添加但是级联)。