0

这是我得到的一些东西,它是一个计算器,我尝试从按钮单击事件中调用 JS 方法,但是有问题,显示不会更新。

<script language="javascript" type="text/javascript" src="calculator.js"> 
        var display = document.getElementById('display');

        function digit( num ){
            if(display == 0){
                display.innerHTML = num;
                } else {
                    display.innerHTML = display.innerHTML + "" + num;
                    }
        };


    </script>
    </head>
    <body>
    <form name="calculator">
      <table width="auto" border="1">
        <tr>
          <!--<td colspan=4><input id="display" type="text"></td> -->
          <td colspan=4><div id="display"></div></td>
        </tr>
        <tr>
          <td>MC</td>
          <td>MR</td>
          <td>MS</td>
          <td><input type="button" value='/' onclick="pushButton(this.value);"></td>
        </tr>
        <tr>
          <td><input type="button" value=7 onclick="javascript:digit(this.value);"></td>
          <td><input type="button" value=8 onclick="javascript.digit(this.value);"></td>
          <td><input  type="button" value=9 onclick="pushButton(this.value);"></td>
          <td><input  type="button" value='*' onclick="pushButton(this.value);"></td>
        </tr>
        <tr>
          <td><input  type="button" value=4 onclick="pushButton(this.value);"></td>
          <td><input  type="button" value=5 onclick="pushButton(this.value);"></td>
          <td><input  type="button" value=6 onclick="pushButton(this.value);"></td>
4

3 回答 3

3

移动

var display = document.getElementById('display');

进入你的功能。

于 2013-02-15T04:41:47.890 回答
2

document.getElementById('display');在该元素 ( id=display) 存在之前调用。你可以做各种各样的事情,但最简单的就是将 移到<script>之前</body>,或者至少在之后id=display

于 2013-02-15T04:44:23.287 回答
0

在 div 中放置 0 或更改脚本中的条件(显示 == null )

于 2013-02-15T04:52:54.647 回答