慕少8119580
2017-03-04 15:32
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 有值啊
把全部代码贴出来!
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题