xiaodanxu
2016-03-12 13:25
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var x1=document.getElementById("txt1").value;
//获取第一个输入框的值
var x2=document.getElementById("txt2").value;
//获取第二个输入框的值
var sel=document.getElementById("select").value;
var result="";
switch(sel){
case "+":
result=parseFloat(x1) + parseFloat(x2);
break;
case "-":
result=parseFloat(x1) - parseFloat(x2);
break;
case "*":
result=parseFloat(x1) * parseFloat(x2);
break;
case "/":
result=parseFloat(x1) / parseFloat(x2);
}
document.getElementById("fruit").value=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>
(1)switch语句有问题,case语句的值如果是字符必须用’‘,你用的是“”(2)当switch后的表达式的值和case语句后的值相同时,从该位置向下执行,直到遇到break语句或者switch语句结束块。你的每个case语句后都没有break语句,即使你的select选的+号,程序也会依次执行+ - * / 后才结束程序,所以最后结果都是两数相除的结果。
语法错误
多了一个}这个,存在错误,去掉就行哈
多打了个 } ,去掉就好了。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题