2016-05-05 13 views
0

An einem Projekt arbeiten. Ich brauche die else-Anweisung, sondern zu arbeiten, wenn ich den Absenden-Button traf es leitet nur die „if“Element-IDs für if/else-Anweisungen erhalten

<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

Also haben Sie das debugged, oder? Platzieren Sie einen Haltepunkt in der Zeile "var judgementAmount" und überprüfen Sie den Wert der Variablen. Sie werden feststellen, dass es ein 'HTMLInputElement' ist, nicht der Wert, den Sie erwartet haben. Das würde Sie warnen, dass Sie den Wert dieses Elements vor dem Vergleich nehmen müssen. –

+0

Sehen Sie diese Demo: https://jsfiddle.net/ova74kmh/ in meiner Antwort. Es funktioniert wie erwartet. –

Antwort

0

Sie müssen mit den Werten Ihrer Elemente bedienen:

nur
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') Renditen ein Verweis auf ein Element mit der ID "judgmentAmount". Wenn Sie den Wert des Elements verwenden möchten, müssen Sie Folgendes tun:

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

Der nächste Schritt ist die Berechnung einer bestimmten Menge. Sie müssen Zeichenfolge konvertieren (mit + Operator) int

typeof judgmentAmount; // "string" 

typeof +judgmentAmount; // "number" 

Demo

0

Sie sind nur die Objekte zu vergleichen, müssen Sie ihre Werte

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

Vergleichen Sie auch, wandeln sie in Nummer vor dem Vergleich.

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

Ich glaube nicht, dass das funktionieren wird.Diese Zeilen befinden sich außerhalb der 'urteilenCalc'-Funktion, würden also niemals aktualisiert werden, bevor Sie auf' Speichern' klicken. – jasonscript

+0

@jascript Sie haben Recht, ich habe es verpasst. Danke – gurvinder372

+0

Die 'Nummer' ist zumindest in diesem Fall nicht notwendig. –

0

Sie müssen Werte dieser Eingabefelder zugreifen, anstatt direkt arbeiten dom Elemens von document.getElementById() zurückgegeben. Sie können den Wert input mit der Eigenschaft .value erhalten.

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

Ihre Variablen innerhalb der Funktion bewegen, so dass sie richtig zum Zeitpunkt der Funktionsausführung gefüllt sind, und .value Eigenschaften der DOM-Elemente hinzuzufügen.

versuchen Sie dies:

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

Sie bekommen die HTML-DOM-Elemente hier:

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

Also in Ihrem judgementCalc Methode müssen Sie die Werte dieser Elemente erhalten:

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

Bitte führen Sie das folgende Skript aus, es wird gut funktionieren:

<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

Was ist der Grund für den Downvote? –

+0

Eigentlich ist das 'ParseFloat' nicht notwendig, da die Subtraktion den Wert zu einer Zahl zwingt. –

-1

Sie haben den Wert des Eingangselements zu vergleichen, Bitte versuchen Sie folgendes

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'); 
    } 
} 

Es kann Ihnen helfen.

Verwandte Themen