2017-03-17 15 views
-1

私は、Adobe Acrobat Pro DCを使用して電卓を作成しています。私は2つのラジオボタンがあり、両方の選択に基づいて値を作成する必要があります。2つのラジオボタンを選択するためのJava Scriptの計算方法を教えてください。

どのタイプの部品をテストしていますか? (パーツタイプ) ギヤ - キャンバスシャフト - 軸受

どのようなタイプの不具合がありますか? (DefectType) -Burn -Stress -depth

ギアと書き込みが選択されているが、値は、ギアとストレスが選択されている場合、値は70 軸受である場合には書き込みが選択されている場合、値は35

あります

組み合わせが一意であるため、各選択肢に値を割り当てることはできません。これをJava Scriptでどのように書くのですか?ここで

は(私が間違っている実感がある)

もし私がこれまで持っているものである(PartTypeに==ギア& & DefectType ==バーン)の値== 10

助けてください!ありがとうございました!

+1

あなたのコードはこれですか? – user7417866

+0

Refere this http://www.javascript-coder.com/javascript-form/javascript-calculator-script.phtml –

答えて

0

問題を解決する方法は2つあります。

注:以下では、値をテキストフィールドに表示するものとします。表示されるコードスニペットは、特定のフィールドのCalculateイベントスクリプトの一部です。値を別の計算で使用する場合は、変数を定義してから、「event.value」の代わりにその名前を使用します。

a)値がオプションから計算できる場合(「部品タイプと欠陥タイプ」の意味で)、コンポーネントをラジオボタン選択の戻り値として設定できます。この場合、値はすぐに計算されます:

event.value = this.getField("PartType").value*1 + this.getField("DefectType").value*1) ; 

さらに複雑なアルゴリズム/式がある場合は、その値を代わりに使用します。

b)値を計算する式/アルゴリズムがない場合は、ルックアップテーブルが必要です。ここでは、2次元配列を定義します。ここで要素はPartTypeを表し、それに対応するDefectTypesの配列です。

ラジオボタンフィールドの戻り値は、そのルックアップテーブルのインデックス番号に対応します。

私たちは、第1のルックアップテーブルのセットアップを開始します:

などAA、BBは、accoridingコンポーネントの値を表す
var myLUT = new Array() ; 
myLUT[0] = [10, 70, aa] ; // values for Gear and Burn, Stress, Depth 
myLUT[1] = [bb, cc, dd] ; // values for Camshaft and Burn, Stress, Depth 
myLUT[2] = [35, ee, ff] ; // values for Bearing and Burn, Stress, Depth 

Calculationスクリプトでこのルックアップテーブルを定義できますが、この定義を含むドキュメントレベルのスクリプトを作成する方が効率的です。

計算スクリプトは次のようになります。

var pt = this.getField("PartType").value ; 
var dt = this.getField("DefectType").value ; 

event.value = myLUT[pt][dt] ; 

、それはそれを行うだろう。

ラジオボタンのフィールドを扱うときにもう1つのことがあります。オプションが選択されていなければならない場合でも、デフォルトとして選択を行うことはできません。ただし、どちらのオプションもオプションが選択されていることを前提としています。我々はまた、ラジオボタングループの一方または両方が(まだ)ありませんチェックすると何が起こるかを指定する必要があり

if (this.getField("PartType").value != "Off" && this.getField("DefectType").value != "Off") { 
// now run our code 
} 

:したがって、我々は両方のグループがチェックのオプションを持っていることを要求することにより、コードを保護する必要があります。

関連する問題