var vf = document.getElementById("fruit").value;
//...一系列计算后
vf=sum;
上面的方式没有结果,而下面的方式有结果
//...一系列计算后
document.getElementById("fruit").value=sum;
请教一下这是为什么?
补充:具体代码是这样的
(1)这是正确的,能返回想要的结果(第三个框框有结果输出)
function count(){
//获取第一个输入框的值
var v1 = document.getElementById("txt1").value;
v1=parseInt(v1);
//获取第二个输入框的值
var v2 = document.getElementById("txt2").value;
v2=parseInt(v2);
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
var vr = document.getElementById("select").value;
//设置结果输入框的值
var sum;
switch(vr){
case "+":
sum=v1+v2;
break;
case "-":
sum=v1-v2;
break;
case "*":
sum=v1*v2;
break;
case "/":
sum=v1/v2;
break;
default:
}
document.getElementById("fruit").value=sum;
}(2)这是错误的,返回不了想要的结果(第三个框框没有结果输出)
function count(){
//获取第一个输入框的值
var v1 = document.getElementById("txt1").value;
v1=parseInt(v1);
//获取第二个输入框的值
var v2 = document.getElementById("txt2").value;
v2=parseInt(v2);
//获取选择框的值
var vf = document.getElementById("fruit").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
var vr = document.getElementById("select").value;
//设置结果输入框的值
var sum;
switch(vr){
case "+":
sum=v1+v2;
break;
case "-":
sum=v1-v2;
break;
case "*":
sum=v1*v2;
break;
case "/":
sum=v1/v2;
break;
default:
}
vf=sum;
}楼上的疯小蕾说了“document.getElementById("fruit").value, 本来是个空值,你把空值赋予谁都没意义”。
因为上面的代码 vr这个变量最后被赋予的值是sum,和document.getElementById("fruit").value就没关系了,只有document.getElementById("fruit").value 才是最后那个文本框中的值,也就是结果的值,这个值,就是document.getElementById("fruit").value, 本来是个空值,你把空值赋予谁都没意义,只有sum的值赋予document.getElementById("fruit").value,它才变成了sum的值,所以下面的代码正确
前提要 document.getElementById("fruit").value 有值啊
把全部代码贴出来!