0

我有一个带有计算的 PDF 文件。这个想法是,用户在一个简单的表单上输入信息,并且数据在同一个表单上被复制多次,因此他们可以在同一页面上打印相同的标签 4 次,而无需重新输入所有内容。因此,每个字段的计算为:

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

除非有人输入破折号/减号,否则此方法效果很好。然后计算返回 0 而不是破折号。这是发生这种情况的唯一角色。我想是因为它本质上是数学的,但是其他操作符号都没有这样做,所以我很困惑。

我正在使用 FoxIt PhantomPDF 使用公式创建 PDF。在 Adob​​e Reader XI 中打开的完全相同的 PDF 可以完美运行。所以我不确定这是 JavaScript 问题还是 FoxIt 问题。谢谢!

4

4 回答 4

0

您需要在获得字符串时将其转换value为数字。value

event.value = parseFloat(this.getField("Field1").value);
于 2015-06-16T15:12:30.603 回答
0

在将字段值从一个字段推送到另一个字段时,我通常使用

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

在验证事件中。这样,将值推送到其中的字段仍可编辑。

每次表单中任何字段的值发生更改时,使用计算事件传输字段值都会执行此操作,并且不允许更改字段的值,因为它将立即被替换。

于 2015-06-16T18:35:46.703 回答
0

也许您可以附加一个空字符串以防止将减号解释为数学运算。

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

于 2015-06-24T02:38:20.330 回答
0

如果两个字段具有相同的属性,只需复制(复制/粘贴或复制-拖动)它们。具有相同名称的字段具有相同的值;无需计算或其他脚本。

于 2015-06-29T23:13:15.600 回答