这里d=a b c得到的d为什么不是计算结果而是1+2,b是运算符,输入框中输入1和2

来源:6-11 编程练习

慕粉1473411212

2016-11-03 18:21

  <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 d=a c b;

    //设置结果输入框的值 

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

   }

  </script> 


写回答 关注

2回答

  • stone310
    2016-11-04 08:08:29
    已采纳

    d=a c b是什么东西..

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

    var a=parseInt(document.getElementById("txt1").value);

    var b=parseInt(document.getElementById("txt2").value);

    然后符号选择要用判断


    慕粉1473...

    非常感谢!

    2016-11-04 09:30:56

    共 1 条回复 >

  • 慕粉1473411212
    2016-11-03 18:22:32

    <!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 d=a c b;

        //设置结果输入框的值 

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

       }

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


JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题