<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var p1=document.getElementById("txt1").value;
//获取第一个输入框的值
var p2=document.getElementById("txt2").value;
//获取第二个输入框的值
var p="";
//获取选择框的值
var px=document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
switch(px)
{
case "+":
p = p1 +p2;
break;
case "-":
p = p1 -p2;
break;
case "*":
p = p1*p2;
break;
case "/":
p = p1/p2;
break;
}
document.getElementById("fruit").value=p;
}
</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=' = ' /> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' onclick="count()" />
</body>
</html>
你的p1和p2接收到的是String类型的值 你用alert(typeof(p1))试一下就知道了 要用parseInt转型
我还有点不明白,为什么就是第一个case是字符串,其他的case就是number类型呢?
在case“-”后面加了alert(typeof(p)); 是弹出number类型的
但是为什么会这样?
我还有点不明白,为什么就是第一个case是字符串,其他的case就是number类型呢?
在case“-”后面加了alert(typeof(p)); 是弹出number类型的
但是为什么会这样?