2015-06-16 29 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」)值+ 「」。