JavaScript计算器问题

JavaScript计算器问题,javascript,calculator,Javascript,Calculator,我把JavaScript弄得有点乱,决定做一个计算器。现在我想让它做的就是把按下的按钮输入到回答框中,但我不能让它工作,我想我的功能有问题,但我不知道是什么,请帮助 变量1=函数{ document.getElementByIdinput.innerHTML=1 } 功能二{ document.getElementByIdinput.innerHTML=2 } 功能三{ document.getElementByIdinput.innerHTML=3 } 功能四{ document.getEl

我把JavaScript弄得有点乱,决定做一个计算器。现在我想让它做的就是把按下的按钮输入到回答框中,但我不能让它工作,我想我的功能有问题,但我不知道是什么,请帮助

变量1=函数{ document.getElementByIdinput.innerHTML=1 } 功能二{ document.getElementByIdinput.innerHTML=2 } 功能三{ document.getElementByIdinput.innerHTML=3 } 功能四{ document.getElementByIdinput.innerHTML=4 } 功能五{ document.getElementByIdinput.innerHTML=5 } 功能六{ document.getElementByIdinput.innerHTML=6 } 功能七{ document.getElementByIdinput.innerHTML=7 } 功能八{ document.getElementById'input'.innerHTML=8 } 功能九{ document.getElementById'input'.innerHTML=9 } 函数零{ document.getElementById'input'.innerHTML=0 } 函数极小值{ document.getElementById'input'.innerHTML= } 函数添加{ document.getElementById'input'.innerHTML=+ } 函数减法{ document.getElementById'input'.innerHTML=- } 函数乘法{ document.getElementById'input'.innerHTML=* } 功能划分{ document.getElementById'input'.innerHTML=/ } 函数计算{} 函数重置{}
您需要设置输入元素的value属性,而不是innerHTML,例如:

document.getElementById("input").value = "1"
尝试:


如果要将单击按钮的值设置为“答案”字段,只需使用以下命令:

请注意,输入字段有一个可以更改的值,而不是innerHTML

您不需要html中的所有内联javascript,querySelectorAll就可以完成这项工作

 <table border="1">
    <tr>
      <td colspan="4">
        <table border="1">
          <tr>
            <td>
              <input type="text" value="Answer" id="input">
            </td>
          </tr>
        </table>
      </td>
      <tr>
        <td>
          <input type="button" value="1" >
        </td>

        <td>
          <input type="button" value="2" >
        </td>

        <td>
          <input type="button" value="3" >
        </td>

        <td>
          <input type="button" value="+" >
        </td>
      </tr>

      <tr>
        <td>
          <input type="button" value="4" >
        </td>

        <td>
          <input type="button" value="5" >
        </td>

        <td>
          <input type="button" value="6" >
        </td>

        <td>
          <input type="button" value="- " >
        </td>

      </tr>

      <tr>

        <td>
          <input type="button" value="7" >
        </td>

        <td>
          <input type="button" value="8">
        </td>

        <td>
          <input type="button" value="9">
        </td>

        <td>
          <input type="button" value="*">
        </td>
      </tr>

      <tr>
        <td>
          <input type="button" value="<" >
        </td>

        <td>
          <input type="button" value="0">
        </td>
        <td>
          <input type="button" value=">">
        </td>
        <td>
          <input type="button" value="/">
        </td>
      </tr>

      <tr>
        <td colspan="3">
          <input type="button" value="      Calculate!      ">
        </td>

        <td>
          <input type="button" value="C" >
        </td>
      </tr>
  </table>
</body>

</html>

作为旁注,为了使您的代码更易于维护,我会将您的答案输入字段的id更改为更精确的id,例如答案作为输入可能会有点混乱。

这不是一个解决方案,但有一点提示:查看函数参数。您还可以在html属性中使用>sign unencoded,这可能会破坏某些浏览器中的html呈现。该按钮有一个调用此函数的onclick侦听器。感谢您的回答,这很好,但我的代码仍然不起作用,当我按下按钮时,应答字段中不会发生任何事情,我一直在尝试W3Schools.com的例子,它们很有效,但在我使用了您的解决方案或Max Meijer和Buster提供的解决方案后,我的代码就不起作用了。您的html下面或上面有javascript吗?您需要将它放在html下面,并将其包装在window.onload=function{js code here}中,以确保在js尝试查找成功的元素@dovydasgirdvainist之前加载DOM!谢谢,现在让它作为一个计算器工作,有没有办法添加文本而不是覆盖?
var a = document.querySelectorAll('input[type=button]');

for (var i = 0;i<a.length;i++) {
   a[i].addEventListener('click',addthis);
}

function addthis() {
   document.getElementById('input').value = this.value;    
}   
 <table border="1">
    <tr>
      <td colspan="4">
        <table border="1">
          <tr>
            <td>
              <input type="text" value="Answer" id="input">
            </td>
          </tr>
        </table>
      </td>
      <tr>
        <td>
          <input type="button" value="1" >
        </td>

        <td>
          <input type="button" value="2" >
        </td>

        <td>
          <input type="button" value="3" >
        </td>

        <td>
          <input type="button" value="+" >
        </td>
      </tr>

      <tr>
        <td>
          <input type="button" value="4" >
        </td>

        <td>
          <input type="button" value="5" >
        </td>

        <td>
          <input type="button" value="6" >
        </td>

        <td>
          <input type="button" value="- " >
        </td>

      </tr>

      <tr>

        <td>
          <input type="button" value="7" >
        </td>

        <td>
          <input type="button" value="8">
        </td>

        <td>
          <input type="button" value="9">
        </td>

        <td>
          <input type="button" value="*">
        </td>
      </tr>

      <tr>
        <td>
          <input type="button" value="<" >
        </td>

        <td>
          <input type="button" value="0">
        </td>
        <td>
          <input type="button" value=">">
        </td>
        <td>
          <input type="button" value="/">
        </td>
      </tr>

      <tr>
        <td colspan="3">
          <input type="button" value="      Calculate!      ">
        </td>

        <td>
          <input type="button" value="C" >
        </td>
      </tr>
  </table>
</body>

</html>