<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行换成了图片上的就可以运行了
这两者有什么区别吗