2016-05-27 11 views
0
<html> 
<body> 
    <input type="text" value="0" id="x1" onblur="ThisEvent()"/>x1</br>    
    <input type="text" value="0" id="x2">x2  </br> 

<script> 
    var x1  = document.getElementById("x1");  
    var x2  = document.getElementById("x2"); 

function ThisEvent(){ 
    if (x1=1) {x2.value--;}else{ 
    if (x1=2) {x2.value++;}else{ 
    if (x1=3) {x2.value+0;}}} 
    } 
</script> 
</body> 
</html> 

scheint nur die erste if-Anweisung zu feuern und die Else-Situation zu ignorieren. jede Hilfe würde sehr geschätzt werdenunterstützt onblur mehrere if else-Anweisungen?

+0

Fehler Boolean Sie haben es wie Zuweisung gemacht. dh es sollte 'if (x1 == 1)' – SaidbakR

Antwort

1

= ist ein Zuweisungsoperator.

== & === sind Vergleichsoperatoren. (Siehe this question für den Unterschied zwischen ihnen)

Es ist auf der ersten if Aussage, weil x1=1 kehrt zu stoppen 1, die truthy ist.

Sobald Sie mit Vergleichsoperatoren wechseln, sollten Sie x1.value == 1 werden mit dem Zahlenwert des <input> zu vergleichen, oder Sie x1.value === "1" nutzen könnten.

+0

ich habe versucht, == für alle drei wenn Situationen und es überhaupt nicht Feuer –

+0

gleich mit === und die gleichen Ergebnisse –

+0

@bretsimonson Sie haben vergessen zu verwenden '. Wert ". – Barmar

0
<html> 
<body> 
    <input type="text" value="0"id="x1" onblur="ThisEvent()">x1  </br> 
    <input type="text" value="0" id="x2"  > x2  </br> 
<script> 
    var x1  = document.getElementById("x1");  
    var x2  = document.getElementById("x2"); 

function ThisEvent(){// needs a lot of work done to it 
    if (x1.value==1) {x2.value--;}else{ 
    if (x1.value==2) {x2.value++;}else{ 
    if (x1.value==3) {x2.value+0;}}}} 
</script> 
</body> 
</html> 
+0

sehr geschätzt 4castle und Barmar –