我在定义的时候定义了f=document.getElementById("fruit").value;,运算结果赋值给b,但是我最后将运算结果显示时,用f=b就没有结果显示,用document.getElementById("fruit").value=b就能显示。
f 代表的只是fruit的一个值的拷贝,你修改fruit的拷贝,对fruit没有任何影响,
进行这一步时,document.getElementById("fruit").value=b,修改的fruit的value的值,所以可以成功
我的理解是:
1、f=document.getElementById("fruit").value;表示将id为"fruit"这个元素的值value赋给f,而不是用"f"来代表这个元素的值,所以f=b不能表示将b的值赋给该元素。你可以将
2、运算结果赋给了b,那么用document.getElementById("fruit").value=b则表示将b的值赋给该元素的value。
3、在你的基础上可以修改为:
var b; //结果初始值
f=document.getElementById("fruit");//获取元素对象
//结果计算出来之后,将结果值赋给元素对象的value:f.value=b;
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var a=document.getElementById("txt1").value;
var b=document.getElementById("select").value;
var c=document.getElementById("txt2").value;
var f=document.getElementById("fruit").value;
var d=0;
switch(b){
case "+":
d=parseInt(a)+parseInt(c);
break;
case "-":
d=parseInt(a)-parseInt(c);
break;
case "*":
d=parseInt(a)*parseInt(c);
break;
case "/":
d=parseInt(a)/parseInt(c);
break;
}
f=d;
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>