<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var result;
//获取第一个输入框的值
var x=document.getElementById("txt1").value;
//获取第二个输入框的值
var y=document.getElementById("txt2").value;
//获取选择框的值
var a=document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
switch(a)
{
case"+":
result=x+y;break;
case"-":
result=x-y;break;
case"*":
result=x*y;break;
case"/":
result=x/y;break;
}
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' value="" />
</body>
</html>
//获取第一个输入框的值 var x=document.getElementById("txt1").value; //获取第二个输入框的值 var y=document.getElementById("txt2").value;
改成如下
//获取第一个输入框的值 var x=document.getElementById("txt1").value-0; //获取第二个输入框的值 var y=document.getElementById("txt2").value-0;
通过-0 可以将 x 或 y 转成数字
因为不知道输入的是整数还是小数,所以无法确定用 parseInt 还是 parseFloat
程序算小数可能会出问题 比喻 0.6+0.3 = 0.8999999999999999,所以出现小数时最好把小数转成整数来计算 比喻 (0.6*10+0.3*10)/10 = 0.9
对啊,你的1+2他就解析成了 “1”+“2”=“12”
+号在JS中还有一个功能是字符串拼接,所以你在操作x,y 时,一定要先把x,y转成数字类型的,用x = parseInt(x);后再试试