尝试使用getElementById在Javascript中打印正确答案

时间:2016-09-18 08:07:24

标签: javascript printing getelementbyid perfect-numbers

我试图找出一个数字是否是一个完美的数字,但我无法将其打印出来。数字6,496,8128是完美的数字,但是当我输入数字时,它保持从var res2而不是var res1打印。这里的问题是什么,任何人都可以提供帮助吗?



function perfectNo(number) {
  var temp = 0;
  var res1 = "It is a perfect number";
  var res2 = "It is not a perfect number";
  for (var i = 1; i <= number / 2; i++) {
    if (number % i == 0) {
      temp += i;
    }
  }

  if (temp == number && temp != 0) {
    document.getElementById("results").innerHTML = res1;
  } else {
    document.getElementById("results").innerHTML = res2;
  }
}
&#13;
<input id="num">
<input type="button" onclick="perfectNo()" value="check">
<br>
<p>Answer:</p>
<p id="results"></p>
<br>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

尝试:

var number = document.getElementById("num").value;

像这样:

function perfectNo() {
  var number = document.getElementById("num").value;
  console.log(number);
  var temp = 0;
  var res1 = "It is a perfect number";
  var res2 = "It is not a perfect number";
  for (var i = 1; i <= number / 2; i++) {
    if (number % i == 0) {
      temp += i;
    }
  }

  if (temp == number && temp != 0) {
    document.getElementById("results").innerHTML = res1;
  } else {
    document.getElementById("results").innerHTML = res2;
  }
}
<input id="num">
<input type="button" onclick="perfectNo()" value="check">
<br>
<p>Answer:</p>
<p id="results"></p>
<br>