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

时间:2017-11-09 20:49:42

标签: javascript html web

"$ROOT"
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')
  }
}

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

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

1 个答案:

答案 0 :(得分:9)

#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')
  }
}
<!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>