为了账号安全,请及时绑定邮箱和手机立即绑定

为什么出不来结果

<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 回答

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)

0 回复 有任何疑惑可以回复我~
#1

qq_冄2号_0 提问者

谢谢大神指点,结果已经出来了。小弟膜拜。
2016-11-19 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~
#1

qq_冄2号_0 提问者

也谢谢你的回答,让我多找我了一种方法。
2016-11-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

为什么出不来结果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信