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

时间:2016-04-01 04:54:48

标签: javascript arrays variables pdf sum

我正在尝试使用字段(sum)中的顺序名称为PDF表单添加变量,但代码不起作用。 对于所有编程的新手,我已经在数组上阅读了一些内容,但只发现了在问题出现之前所有变量都被彻底声明(写入)的情况。我的情况就是找到一个工作代码,它在sum操作中“排列”顺序命名的变量。 我的变量名为textbox1textbox2,...,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

总和字段框仍无响应。

1 个答案:

答案 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,以强制它为数字,这是处理空字段所必需的(空字段具有空字符串的值,这意味着数字不会被添加但是级联)。