问答详情
源自:6-11 编程练习

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

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


提问者:慕粉1473411212 2016-11-03 18:21

个回答

  • 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);

    然后符号选择要用判断


  • 慕粉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>