2015-06-16 57 views
0

返回0,我有一个计算的PDF文件。这个想法是,用户在一个简单的表单上输入信息,数据在同一个表单上被多次复制,因此他们可以在同一页面上打印同一标签4次,而无需再次输入所有内容。因此每个字段的计算公式是:的Javascript getfield命令的破折号/减号

event.value = this.getField("Field1").value;

这非常适用除非有人进入破折号/减号。然后计算返回0而不是破折号。这是发生这种情况的唯一角色。我认为,因为它本质上是数学的,但其他操作符号都没有这样做,所以我很困惑。

我使用福昕PhantomPDF创建带有公式的PDF。在Adobe Reader XI中打开的完全相同的PDF完美地工作。所以我不确定这是JavaScript问题还是FoxIt问题。谢谢!

回答

0

如果两个字段具有相同的属性,简单地复制(复制/粘贴或重复拖动)他们。具有相同名称的字段具有相同的值;不需要计算或其他脚本。

0

您需要将value转换为编号为value的字符串。

event.value = parseFloat(this.getField("Field1").value); 
+0

不幸的是我需要的是一个字符串,因为该领域在他们的字符。 –

+0

你如何计算字符? – vinayakj

+0

他们真的不是计算。我们只是将一个字段的值分配给另一个字段,所以它是重复的。 –

0

当涉及到从一个现场推字段值到另一个,我通常在验证事件中使用

this.getField("fieldToPushValueTo").value = event.value ; 

。有了这个,价值被推入的领域仍然是可编辑的。

使用计算事件传递的字段值的确,每一个表单中任何字段的值得到改变时间,并且不允许更改的字段的值,因为它会立即更换。

+0

Max - 我也试过了,它的工作原理也一样,所以我可以将其标记为答案,但坦率地说,上述注释中的解决方案是更优雅和易于维护的解决方案。我和那个一起去了。感谢您的帮助! –

0

也许你可以添加一个空字符串,以防止减去被解释为一个数学运算。

event.value = this.getField( “字段1”)值+ “”。