<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var x=parselnt(document.getElementById("txt1").value)//获取第一个输入框的值
var y=parselnt(document.getElementById("txt2").value)//获取第二个输入框的值
var z=document.getElementById("select").value//获取选择框的值
var a;
if(z='+'){a=x+y;}
else if(z='-'){a=x-y;}
else if(z='*'){a=x*y;}
//获取通过下拉框来选择的值来改变加减乘除的运算法则
else {a=x/y;}
//设置结果输入框的值
document.getElementById("fruit").value=a;
}
</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:
function count(){ var num1=parseFloat(document.getElementById("txt1").value); var num2=parseFloat(document.getElementById("txt2").value); var result=document.getElementById("fruit"); var op=document.getElementById("select").value; switch(op){ case'+':result.value=num1+num2;break; case'-':result.value=num1-num2;break; case'*':result.value=num1*num2;break; case'/':result.value=num1/num2;break; }
另:当变量的值是确定的某些值,应该用switch来进行判断分支。if...else嵌套语句实用性强,但容易使代码混乱,可读性差。
parseInt中I是i的大写,不是L。
找出错误了:1.函数名写错parseInt应该是大写的I(i),而不是小写的l(L).没有见过这个函数,所以套用的,当时 奇怪为什么没有高亮。
2.if...else 为多重判断函数,语法应该为if(z=='+'),是一个判断条件,而不应该为赋值条件。