2017-03-22 14 views
0

私はJSとスクリプトを書くのがとても新しいです。今、私はAcrobatでフォームを作成し、5つのフィールドを計算しています。その結果は別のフィールドの値になります。私はif/else文を書くことについて何も知らないが、他のすべての値が入力されていれば、合計値は表示され、正常に機能するので、スクリプトが正しく機能するために必要なものがあると感じる。しかし、それらのすべてが常に入力されるわけではありません(ときにはv1、v2 & v3はまったく入力されません)。したがって、これらの値の1つ以上が動作しなくてもスクリプト/値が動作するようにする必要がありますプレゼント。私が今持っていることは次のとおりです。PDF形式の短いJSスクリプトの文がありません

(function() { 
 

 
var v1 = +getField("Charges1").value; 
 

 
    var v2 = +getField("Charges2").value; 
 

 
    var v3 = +getField("Charges3").value; 
 

 
    var v4 = +getField("NetWeight").value; 
 

 
    var v5 = +getField("MRMRate").value; 
 

 
    event.value = (v4 * v5) * (v1 + v2 + v3); 
 
    
 
})();

すべての任意の助けをいただければ幸いです - あなたに感謝します!

答えて

1

結果を含むフィールドのCalculateイベントにスクリプトを挿入する場合、このための関数定義は必要ありません。

このコードは、これは、それが結果フィールドは、その場合は何も表示しないようにフォーマットされた場合には何も表示されないことがちょうど0の場合でも、値を表示する必要があります

var v1 = this.getField("Charges1").value; 
var v2 = this.getField("Charges2").value; 
var v3 = this.getField("Charges3").value; 
var v4 = this.getField("NetWeight").value; 
var v5 = this.getField("MRMRate").value; 
event.value = (v4 * v5) * (v1*1 + v2*1 + v3*1); 

(下記参照、しない限り)動作するはずです値は0です(フィールドのプロパティの[書式]タブを確認してください)。

+0

こんにちはマックス - これはすべてを正確に合計します。問題は、すべてのフィールドに値が与えられていない限り、それらが合計しないことです。これはスクリプトで解決しようとしている問題です。私は基本的にチャージ1〜3とNetWeight&MRM Rateを別々に、そして互いに独立して計算するソリューションを探していますが、Totalフィールドにこれらの合計が表示されています。ここでフォームを明確にするのに役立つスクリーンショットをアップロードしようとしましたが、アップローダに何らかの問題があったためです。 – alxmntrvl

+0

別の変数を定義し、それを費用項目の合計に設定することができます。また、Netweight、MFMRate、およびChargeフィールドの1つが0以外の値を持つ場合にのみ、ゼロ以外の結果を得ることに注意してください。 –

関連する問題