2016-05-05 6 views
0

プロジェクトの作業。私は仕事にelse文を必要とするが、私は、送信ボタンを打ったとき、それはちょうどあなたがあなたの要素の値で動作する必要がif/elseステートメントの要素IDの取得

<head> 
<script> 
    var judgmentAmount = document.getElementById('judgmentAmount'); 
    var amountCollected = document.getElementById('amountCollected'); 
    function judgmentCalc() { 
     if(judgmentAmount - amountCollected < 10000) { 
      window.open('http://afjudgment.com'); 
     }else { 
      window.open('http://www.yahoo.com'); 
     } 
    } 
</script> 
</head> 

<body> 
<h1>Application</h1> 
<p>I understand that this application neither obligates me to <b>Affirmative  Judgment</b> nor does it obligate <b>Affirmative Judgment</b> to me.</p> 
<h3>Judgment Information</h3> 
<form> 
    <span>Do you have a case number?</span> 
    <input type="text" name="caseNumber" /> 
    <span>Amount of Judgment</span> 
    <input type="text" name="judgmentAmount" id="judgmentAmount" /> 
    <span>Amount collected to date</span> 
    <input type="text" name="amountCollected" id="amountCollected" /> 
    <input type="submit" name="submitButton" onclick="judgmentCalc();" /> 
</form> 
+0

だから、これをデバッグしましたか? 'var judgmentAmount'行にブレークポイントを置き、それを踏んで変数の値を調べます。期待していた値ではなく、 'HTMLInputElement'であることがわかります。これは、比較を行う前にその要素の価値を取る必要があることを警告します。 –

+0

私の答えは、このデモを参照してください:https://jsfiddle.net/ova74kmh/。期待どおりに動作します。 –

答えて

0

「場合」にリダイレクト:

function judgmentCalc() { 

    var judgmentAmount = +document.getElementById('judgmentAmount').value; 
    var amountCollected = +document.getElementById('amountCollected').value; 

    if(judgmentAmount - amountCollected < 10000) { 
    window.open('http://afjudgment.com'); 
    } 
    else { 
    window.open('http://www.yahoo.com'); 
    } 
} 

VAR judgmentAmount = document.getElementById('judgmentAmount')リターンのみIDが「judgmentAmount」の要素への参照です。要素の値を使用する場合は、これを行う必要があります。

var judgmentAmount = document.getElementById('judgmentAmount').value

次のステップは、いくらかの量を計算しています。あなたは

は数に変換し、また
var judgmentAmount = Number(document.getElementById('judgmentAmount').value); 
var amountCollected = Number(document.getElementById('amountCollected').value); 

あなたがオブジェクトだけを比較している

typeof judgmentAmount; // "string" 

typeof +judgmentAmount; // "number" 

Demo

0

+演算子で)intに文字列を変換する必要があり、あなたはそれらの値を比較する必要があります比較の前に。

function judgmentCalc() { 
    var judgmentAmount = Number(document.getElementById('judgmentAmount').value); 
    var amountCollected = Number(document.getElementById('amountCollected').value); 
    if(judgmentAmount - amountCollected < 10000) { 
     window.open('http://afjudgment.com'); 
    }else { 
     window.open('http://www.yahoo.com'); 
    } 
} 
+0

これはうまくいくとは思わない。これらの行は 'judgementCalc'関数の外にあるので、' Save'をクリックする前に更新されることはありません。 – jasonscript

+0

@jasonscriptあなたは正しいです、私はそれを逃しました。ありがとう – gurvinder372

+0

少なくともこの場合、「番号」は不要です。 –

0

あなたが直接document.getElementById()によって返さelemens DOM上で作業するのではなく、これらの入力フィールドの値にアクセスする必要があります。 .valueプロパティを使用してinputの値を取得できます。

var judgmentAmount = document.getElementById('judgmentAmount').value; 
var amountCollected = document.getElementById('amountCollected').value; 
0
は、それらが適切に機能の実行時に満たされているので、関数内で、あなたの変数を移動し、DOM要素の.VALUEプロパティを追加

function judgmentCalc() { 
     var judgmentAmount = document.getElementById('judgmentAmount').value; 
     var amountCollected = document.getElementById('amountCollected').value; 
     if(judgmentAmount - amountCollected < 10000) { 
      window.open('http://afjudgment.com'); 
     }else { 
      window.open('http://www.yahoo.com'); 
     } 
    } 
0

あなたがここにHTMLのDOM要素取得している:あなたのjudgementCalc方法でそう

var judgmentAmount = document.getElementById('judgmentAmount'); 
var amountCollected = document.getElementById('amountCollected'); 

あなたはそれらの要素の値を取得する必要があります。

function judgmentCalc() { 
    // notice that we're using VALUE here: 
    if(judgmentAmount.value - amountCollected.value < 10000) { 
     window.open('http://afjudgment.com'); 
    }else { 
     window.open('http://www.yahoo.com'); 
    } 
} 

はこれを試します

-1

以下のスクリプトを実行してください。正常に動作します。

あなたが入力要素の値を比較する必要が
<head> 
<script> 
    function judgmentCalc() { 
     var judgmentAmount = document.getElementById('judgmentAmount').value; 
     var amountCollected = document.getElementById('amountCollected').value; 

     var exp = parseFloat(judgmentAmount) - parseFloat(amountCollected); 

     if(exp < 10000) { 
      window.open('http://afjudgment.com'); 
     } else { 
      window.open('http://www.yahoo.com'); 
     } 
    } 
</script> 
</head> 
+0

downvoteの理由は何ですか? –

+0

実際には、 'parseFloat'は必要ありません。なぜなら、減算は数値を強制的に数値に変換するからです。 –

-1

、それはあなたを助けることがあり、次の

function judgmentCalc() { 
    var judgmentAmount = document.getElementById('judgmentAmount').value; 
    var amountCollected = document.getElementById('amountCollected').value; 

    if((judgmentAmount - amountCollected) < 10000) { 
     window.open('http://afjudgment.com'); 
    } else { 
     window.open('http://www.yahoo.com'); 
    } 
} 

を試してみてください。

関連する問題