白水向前冲
2015-01-05 18:34
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var a,b,sel,result
//获取第一个输入框的值
a=document.getElementById(txt1).value;
//获取第二个输入框的值
b=document.getElementById(txt2).value;
//获取选择框的值
sel=document.getElementById(select).value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
switch(sel){
case "+":
result=a+b;
break;
case "-":
result=a-b;
break;
case "*":
result=a*b;
break;
default
if (b!=0){
result=a/b;
}
else{
alert("分母不能为零!");
}
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>
首先说一下我在你的程序中发现的问题:
1、将你的代码运行,浏览器会报错,提示你if在此处的用法不妥。
2、javascript代码中所有的document.getElementById()中的id你都没有写双引号,当id是变量的时候才可以不写引号。
3、当修正了以上两个问题之后,我1+2运行的结果是12。这是第三个问题,输入框获取的值是字符串,需要你将字符串儿转成数字。
以下是我修正之后的代码:
<!DOCTYPE html> <html> <head> <title>事件</title> <script type="text/javascript"> function count(){ var a,b,sel,result //获取第一个输入框的值 a=parseInt(document.getElementById("txt1").value); //获取第二个输入框的值 b=parseInt(document.getElementById("txt2").value); //获取选择框的值 sel=document.getElementById("select").value; //获取通过下拉框来选择的值来改变加减乘除的运算法则 switch(sel){ case "+": result=a+b; break; case "-": result=a-b; break; case "*": result=a*b; break; case "/": if (b!=0){ result=a/b; } else{ alert("分母不能为零!"); }; } 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进阶篇
468061 学习 · 21891 问题
相似问题