人生逝年
2017-04-19 16:59
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var t1=document.getElementById("txt1").value;
var s1=document.getElementById("select").value;
var t2=document.getElementById("txt2").value;
switch(s1){
case "+";
var jieguo=parseInt(s1)+parseInt(s2)
document.getElementById("fruit")=var jieguo;
case "-";
var jieguo=parseInt(s1)-parseInt(s2)
document.getElementById("fruit")=var jieguo;
case "*";
var jieguo=parseInt(s1)*parseInt(s2)
document.getElementById("fruit")=var jieguo;
case "/";
var jieguo=parseInt(s1)/parseInt(s2)
document.getElementById("fruit")=var jieguo;
}
</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>
为了能让你理解,我就修改下你的代码,请看注释,代码其实可以更简洁优化,如果能看懂,最好像
上面那位同学那样写
<!DOCTYPE html> <html> <head> <title> 事件</title> <script type="text/javascript"> function count(){ var t1=document.getElementById("txt1").value; var s1=document.getElementById("select").value; var t2=document.getElementById("txt2").value; switch(s1){ case "+": //这里是冒号而不是分号 var jieguo=parseInt(s1)+parseInt(s2); //这一句完全可以写在循环外面的 document.getElementById("fruit")=jieguo;//var 声明一个变量只要一次而不是吧(var jieguo)整个当成一个变量 break; //没有加这个,就是你一直是/的原因了,因为没有中断,他会一直执行到最后一个 case "-": var jieguo=parseInt(s1)-parseInt(s2) document.getElementById("fruit")=jieguo; break; case "*": var jieguo=parseInt(s1)*parseInt(s2) document.getElementById("fruit")=jieguo; break; case "/": var jieguo=parseInt(s1)/parseInt(s2) document.getElementById("fruit")= jieguo; break; } </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>
switch循环里面错的太多了,有点不忍直视。。我把我的发了你对比看看
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var x = document.getElementById("txt1").value;
//获取第一个输入框的值
var y = document.getElementById("txt2").value;
//获取第二个输入框的值
var sel = document.getElementById("select").value;
//获取选择框的值
var result="";
//获取通过下拉框来选择的值来改变加减乘除的运算法则
switch(sel){
case "+":
result=parseFloat(x)+parseFloat(y);
break;
case "-":
result=parseFloat(x)-parseFloat(y);
break;
case "*":
result=parseFloat(x)*parseFloat(y);
break;
default:
result=parseFloat(x)/parseFloat(y);
}
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>
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题