shinier_
2016-07-22 15:18
<!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 z=document.getElementById("select").value; //获取选择框的值
var r;
switch(z)
{
case '+':
r=x+y;break;
case '-':
r=x-y;break;
case '*':
r=x*y;break;
case'/':
r=x/y;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
}
//设置结果输入框的值
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>
使用parseInt()函数可解析一个字符串,并返回一个整数。
case后面要有break
你获取的第一个数和第二个数不是数字类型的 而是字符串类型的,你需要把它转成数字类型的
把第一个case改成:
case"+":r=parseInt(x)+parseInt(y);break;
要把字符串用parseInt函数转成int型才可进行数值的计算,不然只是字符串的加减所以1+1=11
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题