Javascript getField返回0表示短划线/减号

时间:2015-06-16 15:00:22

标签: javascript pdf foxit

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



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




除非有人输入短划线/减号,否则此功能非常有效。然后计算返回0而不是破折号。这是发生这种情况的唯一特征。我认为因为它本质上是数学的,但是其他操作符号都没有这样做,所以我很困惑。

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

4 个答案:

答案 0 :(得分:0)

您需要将value转换为您获得的value为数字的数字。

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

答案 1 :(得分:0)

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

{SELECT 
[Extent1].[season] AS [season], 
[Extent2].[playerId] AS [playerId], 
[Extent2].[playerName] AS [playerName], 
[Extent2].[teamAbbre] AS [teamAbbre], 
[Extent2].[position] AS [position], 
[Extent3].[teamAbbre] AS [teamAbbre1], 
[Extent3].[geoName] AS [geoName], 
[Extent3].[teamName] AS [teamName], 
[Extent3].[conference] AS [conference], 
[Extent3].[division] AS [division], 
[Extent3].[imageURL] AS [imageURL], 
[Extent1].[weekNum] AS [weekNum], 
[Extent1].[playerId] AS [playerId1], 
[Extent1].[statCat_1] AS [statCat_1], 
[Extent1].[statCat_2] AS [statCat_2], 
[Extent1].[statCat_3] AS [statCat_3], 
[Extent1].[statCat_4] AS [statCat_4], 
[Extent1].[statCat_5] AS [statCat_5], 
.....
[Extent1].[statCat_90] AS [statCat_90], 
[Extent1].[statCat_91] AS [statCat_91]
FROM   [dbo].[WeekStat] AS [Extent1]
INNER JOIN [dbo].[Player] AS [Extent2] ON [Extent1].[playerId] = [Extent2].   [playerId]
LEFT OUTER JOIN [dbo].[Team] AS [Extent3] ON [Extent2].[teamAbbre] = [Extent3].[teamAbbre]
WHERE (2014 = [Extent1].[season]) AND ([Extent1].[playerId] IN          (@p__linq__0,@p__linq__1,@p__linq__2,@p__linq__3,@p__linq__4))}
验证事件中的

。有了这个,推送值的字段仍然可以编辑。

使用Calculate事件传输字段值会在每次表单中任何字段的值发生更改时执行,并且不允许更改字段的值,因为它会立即替换。

答案 2 :(得分:0)

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

event.value = this.getField(“Field1”)。value +“”;

答案 3 :(得分:0)

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