设置计算机的程序,为什么只有加号不成功啊,求解

来源:6-11 编程练习

ssAfterHard

2016-11-03 21:21

<!DOCTYPE html>
<html>
 <head>
  <title>事件</title>  
  <script type="text/javascript">
   function count(){  
    //获取第一个输入框的值
    home1=document.getElementById("txt1").value;
	//获取第二个输入框的值
    home2=document.getElementById("txt2").value;
	//获取选择框的值
    home3=document.getElementById("select").value;
	//获取通过下拉框来选择的值来改变加减乘除的运算法则
   switch(home3){
        case "+":
            home4=home1+home2;
        break;
        case "-":
            home4=home1-home2;
        break;
        case "*":
            home4=home1*home2;
        break;
        case "/":
            home4=home1/home2;
        break;
   }
    //设置结果输入框的值 
    document.getElementById("fruit").value=home4;
   }
  </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>


写回答 关注

3回答

  • 俯仰2015
    2016-11-07 22:00:43
    已采纳

    +号的意义可能被识别为连接符,只有加号两端确定为数字时,才将加号作为加法处理

    ssAfte...

    非常感谢!

    2016-11-07 22:09:55

    共 1 条回复 >

  • stone310
    2016-11-04 07:12:55

    因为input标签的value是字符串格式,字符串相加就是拼接,而-*/都会自动先转成数字,再计算,因此,为了保证程序统一和可读,赋值的时候先将hom1和home2的value值的类型转换,利用parseInt(),如下:

    home1=parseInt(document.getElementById("txt1").value);
    home2=parseInt(document.getElementById("txt2").value);


    ssAfte...

    谢谢啊,没想到计算机的程序就这么容易写出来了,谢谢

    2016-11-04 14:15:07

    共 1 条回复 >

  • 鸟人哥哥4271784
    2016-11-03 22:00:33

    自带的符号啥的不能用吧。。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468197 学习 · 21891 问题

查看课程

相似问题