if.IsInteger()在if else语句中不起作用

Joj*_*ojo 5 html javascript web

function bereken() {
  input1 = document.getElementById('input1').value;
  input2 = document.getElementById('input2').value;
  input1Valid = Number.isInteger(document.getElementById('input1'));
  input2Valid = Number.isInteger(document.getElementById('input2'));

  if (Number.isInteger(input1) && Number.isInteger(input2)) {
     alert('De getallen zijn allebei hele getallen')
  }
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
  <head>
    <script src='code.js'></script>
  </head>
  <body>
    <center>
      <h1>GGD calculator</h1>
      <p>Reken de Grote Gemene Deler uit van <input type='number' id='input1'> en <input type='number' id='input2'>.</p>
      <br>
      <input type='button' value='Bereken!' onClick='bereken()'>
    </center>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我正在练习JavaScript,我遇到了这个问题,有人可以帮到你吗?

当输入的两个数字都是整数时,我希望它提醒我的信息,为什么这不起作用?

San*_*yal 11

正如您在控制台中看到的那样,#num元素的值将作为字符串返回.只需使用+符号将其恢复为数字即可.

function bereken() {
  input1 = document.getElementById('input1').value;
  input2 = document.getElementById('input2').value;
  
  if (Number.isInteger(+input1) && Number.isInteger(+input2)) {
     alert('De getallen zijn allebei hele getallen')
  }
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
  <head>
    <script src='code.js'></script>
  </head>
  <body>
    <center>
      <h1>GGD calculator</h1>
      <p>Reken de Grote Gemene Deler uit van <input type='number' id='input1'> en <input type='number' id='input2'>.</p>
      <br>
      <input type='button' value='Bereken!' onClick='bereken()'>
    </center>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)