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

为啥输不出结果?谢谢!

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       

       var d;

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

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

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

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

    //获取选择框的值

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

    document.write(c);

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

    switch(c)

    {

      case "+":

        d=Number(a)+Number(b);

        break;

      case "-":

        d=Number(a)-Number(b);

        break;

      case "*":

        d=Number(a)*Number(b);

        break;

      case "/":

        d=Number(a)/Number(b);

        break;

    }



    //设置结果输入框的值 

    document.write(d);

    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>

代码如上,为什么计算3加3的过程中写入两个document.write()结果就变成下图这样而不是下面第二个图的样式呢?

http://img1.sycdn.imooc.com//5e7773310001059802220220.jpg

http://img1.sycdn.imooc.com//5e77733f00016cd705750172.jpg

正在回答

2 回答

document.write插入js标签会覆盖页面又两种情况:


通过onclick() 点击事件触发执行document.write(),会使document.write()覆盖原来的页面。

在window.onload里面执行document.write(),也会将原来的页面覆盖。


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

Ceoking 提问者

为什么函数onclick()函数方法名不写成onClick呢?
2020-03-23 回复 有任何疑惑可以回复我~

    d1 = document.getElementById("txt1").value;

    d2 = document.getElementById("txt2").value;

    switch(document.getElementById("select").value){

        case "+":

            document.getElementById("fruit").value = parseInt(d1) + parseInt(d2);

            break;

        case "-":

            document.getElementById("fruit").value = parseInt(d1) - parseInt(d2);

            break;

        case "*":

            document.getElementById("fruit").value = parseInt(d1) * parseInt(d2);

            break;

        default:

            document.getElementById("fruit").value = parseInt(d1) / parseInt(d2);

    }

   }


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

举报

0/150
提交
取消

为啥输不出结果?谢谢!

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