<script type="text/javascript">
function count(){
var a = document.getElementById('txt1').value;
var b = document.getElementById('txt2').value;
var c = document.getElementById('select').value;
var d = '';
switch(c){
case '+':
d = a + b ;
break;
case '-':
d = a - b;
break;
case '*':
d = a * b;
break;
case '/':
d = a / b;
break;
}
var e = document.getElementById('fruit').value;
e = d;
}
</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' />我找不出来哪里错了 各位大神帮我看看哪里错了
跟着我的思路来哦。。你首先搞清楚document.getElementById('fruit').value是取输入框的值对吧。。目前没得到结果的时候输入框的值是空的。。而且这个输入框是需要把结果赋值到里面。。变量赋值就是从左到右,d是什么东西? d不就是结果值嘛。。 代码解析出来不就是把算出来的结果值赋进输入框嘛... 照你的写法把输入框赋进这个值。。难道不报错? 是吧。。 要一层层理解。。慢慢来
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
var n1 = parseInt(document.getElementById("txt1").value);
var n2 = parseInt(document.getElementById("txt2").value);
var opr = document.getElementById("select").value;
switch(opr)
{
case "+":
document.getElementById("fruit").value = n1 + n2;
break;
case "-":
document.getElementById("fruit").value = n1 - n2;
break;
case "*":
document.getElementById("fruit").value = n1 * n2;
break;
case "/":
document.getElementById("fruit").value = n1 / n2;
break;
}
}
</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 + 1 等于 12 情况
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<title>事件</title>
<meta name="keywords" content="关键词列表" />
<meta name="description" content="网页描述" />
<link rel="stylesheet" type="text/css" href="" />
<!--<script type="text/javascript" src="JS文件路径"></script>-->
<script type="text/javascript">
function count(){
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
var a = Number(document.getElementById("txt1").value); //转换成数字类型
var b = Number(document.getElementById("txt2").value);
var c = document.getElementById("select").value;
var d = '';
switch(c)
{
case "+":
d = a + b;
break;
case "-":
d= a - b;
break;
case "*":
d = a * b;
break;
case "/":
d = a / b;
break;
}
document.getElementById('fruit').value = d;
}
</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>我的意思是你的e一开始赋值的是输入框,后面你又把e赋值给了d..此时你的e就不是输入框了。。而是d。。懂了吗。。大兄弟。。

为什么我把21行换成了图片上的就可以运行了
这两者有什么区别吗