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

Why 3+3=33??

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

    var st1=document.getElementById("txt1").value;

    var st2=document.getElementById("txt2").value;

    var chara=document.getElementById("select").value;

    var st3;

    switch (chara){

        case "+":st3=st1+st2;break;

        case "-":st3=st1-st2;break;

        case "*":st3=st1*st2;break;

        case "/":st3=st1/st2;break;

    }

    document.write(st3);

   //document.getElementById"select".value=st3;

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

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

//获取选择框的值

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

    //设置结果输入框的值 

   }

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


正在回答

4 回答

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){


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

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

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

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

  //获取选择框的值

  var c = document.getElementById("select").value;

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

  var d = 0;

  switch(c){

      case "+":

          d = a+b;

          break;

      case "-":

          d = a-b;

          break;

      case "*":

          d = a*b;

          break;

      case "/":

          d = a/b;

          break;

      default:

          break;

  }

    //设置结果输入框的值 

        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>


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

获取value值进行加法运算的时候会默认字符串相连,所以会出现3+3=33这种情况。用parseInt()解析字符串返回一个整数

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

因为运行时不是数学运算,而是俩个字符串相加。

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

1.通过document.getElementById("txt1").value这个方法得到的值是文本框中的内容,其实是字符串类型的

2.所以在执行"+"运算时,实际上时执行的时str+str(字符串相加)即:"3"+"3"="33";

3.想要正确执行该程序,有两种办法

                            1)将var st1=document.getElementById("txt1").value;

                                    var st2=document.getElementById("txt2").value;

                                    改为var st1=parseInt(document.getElementById("txt1").value);

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

                            2)  或者将case "+":st3=st1+st2;break;

                                改为case "+":st3=parseInt(st1)+parseInt(st2);break;

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

举报

0/150
提交
取消

Why 3+3=33??

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