001122
2016-09-05 22:09
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var n1= document.getElementById(“txt1”).value;//获取第一个输入框的值
var n2= document.getElementById(“txt2”).value;//获取第二个输入框的值
var s= document.getElementById(“select”).value;//获取选择框的值
var r="";
switch(select){
case "+":
r=parseFloat(n1)+parseFloat(n2);
break;
case "-":
r=parseFloat(n1)-parseFloat(n2);
break;
case "*":
r=parseFloat(n1)*parseFloat(n2);
break;
case "/":
r=parseFloat(n1)/parseFloat(n2);
}
//获取通过下拉框来选择的值来改变加减乘除的运算法则
document.getElementById("fruit").value=r;//设置结果输入框的值
}
</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>
还有一点,你获取的是字符串而不是数字,所以在加法上会当成是字符串之间的加法,如果是15+15结果会是1515而不是30,要用parseInt函数处理字符串返回整数
有很多处地方你把输入法弄成中文了,还有switch的参数应该是你声明的r
大晚上给你调了半天,我不知道是粘贴的问题还是你本身符号打的有问题,很多都是中文符号,基本都在获取值那个部分,再者switch里的变量应该是s,不是select,最后变量r是number型,为什么初始化为字符串
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题