妖小喵_
2018-03-21 09:44
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var text1=document.getElementById("text1").value;
var text2=document.getElementById("text2").value;
var select=document.getElementById("select").value
var result="";
switch (select){
case'+':
result=document.write(text1+text2);
break;
case'-':
result=document.write(text1-text2);
break;
case'*':
result=document.write(text1*text2);
break;
default:
result=document.write(text1/text2);
break;
}
}
document.getElementById("fruit").vaule=result;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
</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>
个人理解:result=document.write(text1+text2);这句话中document.write(text1+text2)是一个输出动作,你可以把这个动作放在前面的函数里面执行,你可以把一个值(类似名词)赋值(放在)变量(盒子)里,但不能把一个动作(类似动词)赋值给一个变量result(放在盒子result里),而且我自己试过了switch里面是不能直接赋值的,你可以直接在if语句里直接赋值,就像这样:parseFloat()的意思是把括号里面的字符串转化为一个数字;
if (txt3=="+"){document.getElementById('text4').value=parseFloat(txt1)+parseFloat(txt2);}
if (txt3=="-"){document.getElementById('text4').value=parseFloat(txt1) - parseFloat(txt2);}
if (txt3=="*"){document.getElementById('text4').value=parseFloat(txt1) * parseFloat(txt2);}
if (txt3=="/"){document.getElementById('text4').value=parseFloat(txt1) / parseFloat(txt2);}
var text1=document.getElementById("text1").value; //这里有误,text1改为txt1,下面那个2也是,改完后可以输出,但计算公式那里也有误,所以效果还是错的。这个你可以自己看看怎么改
result=document.write(text1+text2);改成result=parseInt(a) + parseInt(b);试试;好像是不能这么赋值
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题