<!DOCTYPE html><html><head> <title></title> <script type="text/javascript">function count(){ var a=document.getElementById('txt1').value; var b=document.getElementById('txt2').value; var elect=document.getElementById('select').value; var result=''; switch("elect"){ case '+': result = a + b; break; case '-': result=a - b; break; case '*': result=a * b; break; default: result=a / b; } document.getElementById("fruit").value=result; } </script><input type="text " id="txt1"/><select id='select'><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option><input type="text" id="txt2"/><input type="button" value=" = " onclick="count()"/ ><input type="text" id="fruit"/></select></head><body></body></html>
2 回答
已采纳
刚毅87
TA贡献345条经验 获得超309个赞
你总共有三处错误.
var a=document.getElementById('txt1').value;此处 a 获取值为字符串,不能直接进行运算,应该数值化
switch("elect") 此处 elect 是变量,不应该加引号,加引号就变为字符串了;
case '/': 少了这个判断
具体代码如下:
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> function count() { var a = parseInt(document.getElementById('txt1').value); var b = parseInt(document.getElementById('txt2').value); var elect = document.getElementById('select').value; var result ; switch(elect) { case '+': result = a + b; break; case '-': result = a - b; break; case '*': result = a * b; break; case '/': result = a / b; default: result = a / b; } document.getElementById("fruit").value = result; } </script> <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" /> </head> <body> </body> </html>
望采纳!
ahao430
TA贡献35条经验 获得超41个赞
首先,
switch("elect"){
这里括号里是变量,不要加引号。前面都不匹配,就执行default了,所以一直是除法。
其次,
result = a + b;
这里是字符串,加号进行的是拼接,应该用parseInt,Number,+之类的将a,b转成数值。
添加回答
举报
0/150
提交
取消