HTML / Javascript:如何使用javascript更改输入标记?

时间:2013-02-15 04:40:09

标签: javascript html event-handling

继承了我得到的一些东西,它是一个计算器,我试图从按钮点击事件调用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>

3 个答案:

答案 0 :(得分:3)

移动

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

进入你的功能。

答案 1 :(得分:2)

在该元素(document.getElementById('display');)存在之前,您正在调用id=display。您可以执行各种操作,但最简单的方法是将<script>移至</body>之前,或至少移至id=display之后

答案 2 :(得分:0)

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