下拉框是+号时不能进行运算,比如1+2结果框只能给出12;其他的运算符号运算结果正常

来源:6-11 编程练习

慕标8421383

2020-01-12 11:19

<!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 c=document.getElementById("select").value;

//获取选择框的值

var result;

if(c=="+"){

   result=a+b;

}

else if(c=="-"){

   result=a-b;

}

else if(c=="*"){

   result=a*b;

}

else{

   result=a/b;

}

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

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

    //设置结果输入框的值

   }

  </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=' = ' /> <!--通过 = 按钮来调用创建的函数,得到结果--> 

   <input type='text' id='fruit' onclick="count()" />   

 </body>

</html>


写回答 关注

3回答

  • 李℘࿐
    2020-02-06 15:12:02

    input输入框获取的是字符串

  • 慕粉4247438
    2020-01-15 22:20:12

    因为你没有把获取的值由字符串转为number,如果是字符串遇上“+”的话就是拼接的意思,所以会吧1和2拼接在一起

  • qq_慕前端9307203
    2020-01-13 14:46:42

     使用parseInt()函数可解析一个字符串,并返回一个整数。

    num = parseInt(txt1) - parseInt(txt2);

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题