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+=5;
}
}
<input type="text" value="0" id="x1" onblur="ThisEvent()"> x1 </br>
<input type="text" value="0" id="x2"> x2
现在正在发生的事情是,如果x1是输入3,则正在添加数字而不是递增。你如何使它增加超过一个,而不是将它作为一个数字添加?
答案 0 :(得分:5)
if (x1.value == 3) {
x2.value = parseInt(x2.value) + 5;
}
它将其解释为字符串。您可以在计算中parseInt
x2.value
。
答案 1 :(得分:0)
输入的值是 String ,您需要将其转换为 Number 才能在其上添加。
你可以这样做:
function ThisEvent() { // needs a lot of work done to it
var valX1 = Number(x1.value);
var valX2 = Number(x2.value);
if (valX1 == 1) {
valX2--;
} else {
if (valX1 == 2) {
valX2++;
} else {
if (valX1 == 3) {
valX2 += 5;
}
}
}
x2.value = valX2;
}
jsFiddle:https://jsfiddle.net/v1utqv7f/