为什么出不来结果

来源:6-11 编程练习

qq_冄2号_0

2016-11-17 20:58

<script type="text/javascript">

   function count(){

       

    //获取第一个输入框的值

    num1=document.getElementById("txt1").value;

//获取第二个输入框的值

    num2=document.getElementById("txt2").value;

//获取选择框的值

    selcet=document.getElementById("select").value;

//获取通过下拉框来选择的值来改变加减乘除的运算法则

var result;

    switch(select){

        case"+":

        result=num1+num2;

        break;

        case"-":

        result=num1-num2;

        break;

        case"*":

        result=num1*num2;

        break;

        case"/":

        result=num1/num2;

        break;

        default;

    }

    //设置结果输入框的值 

    result=document.getElementById("fruit").value;

   }

  </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>


写回答 关注

2回答

  • 4955562999
    2016-11-18 17:17:27
    已采纳

    1,前面没有声明 var变量 ,虽然不会影响运行。

    2, selcet=document.getElementById("select").value;     你前面附值的变量名是 selcet ,你switch()填的是 select

    switch语法也错了,写了default 就不需要case "/"了 ,还有default后面应该跟冒号":"不是分号";"。

    3, result=document.getElementById("fruit").value;是取值,

           附值是: document.getElementById("fruit").value = result,

    4, num1+num2; 应该写成 parseInt(num1) + parseInt(num2)

    qq_冄2号...

    谢谢大神指点,结果已经出来了。小弟膜拜。

    2016-11-19 16:37:25

    共 1 条回复 >

  • wils0n3814314
    2016-11-17 21:56:45

    很简单,因为直接获取document.getElementById("txt1").value是一个字符串而不是数字,所以要用parseInt()函数,将字符串转为数字。即

    parseInt(document.getElementById("txt1").value)

    qq_冄2号...

    也谢谢你的回答,让我多找我了一种方法。

    2016-11-19 16:38:20

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题