一段html+javascript,用于查找输入中的数字是否为素数,然后显示结果

piece of html+javascript that finds if number from an input is prime then displays the result

本文关键字:显示 结果 是否 然后 用于 html+javascript 查找 输入 一段 数字      更新时间:2023-09-26

学校项目。我必须设计一个页面,其中包含一个输入框、一个将输入的数字发送到函数的按钮,以及一个显示结果的段落。这是我目前的进展,问题是每次都说"假的"。很抱歉这个问题太琐碎了,我对网络编码完全是个新手。

<!DOCTYPE html>
<html>
<head>
<script>
function isPrime($n)
{
    $i=2;
if ($n==2){
return true;
}
$sqrtN = sqrt($n);
while ($i<= $sqrtN){
if ($n % $i ==0){
return false;
}
$i++;
}
return true;
}
</script>
</head>
<body>
Value: <input type="number" id="n"><br>
<input type="submit" value="Send" onclick="isPrime(n)">
</form>
<p id="derp">sdvfsdg</p>
<script>
document.getElementById("derp").innerHTML = isPrime(n);
</script>

</body>
</html>

基本上,在按下按钮之前,您将一次性设置derp的内容

function isPrime($n)
{
    $i=2;
    if ($n==2){
      document.getElementById("derp").innerHTML = "True";
    }
    $sqrtN = sqrt($n);
    while ($i<= $sqrtN){
      if ($n % $i ==0){
        document.getElementById("derp").innerHTML = "False";
      }
      $i++;
    }
  document.getElementById("derp").innerHTML = "True";
}

并且不确定您是否真的需要无处不在的$-这是一个PHP的东西

您根本没有使用输入字段值,这是您的错误

Value:
<input type="number" id="n">
<br>
<input type="submit" value="Sebd" onclick="x()">
</form>
<p id="derp">sdvfsdg</p>
<div id="try">jdfs</div>
<script>
  function x() {
    document.getElementById('derp').innerHTML = isPrime(Number(document.getElementById('n').value));
  }
  function isPrime(n) {
    i = 2;
    if (n == 2) {
      return true;
    }
    sqrtN = Math.sqrt(n);
    document.getElementById('try').innerHTML = n;
    while (i <= sqrtN) {
      document.getElementById('try').innerHTML = 'try';
      if (n % i == 0) {
        return false;
      }
      i++;
    }
    return true;
  }
</script>

以下是适用于您的案例的代码。。。您应该在输入值后点击执行代码

<!DOCTYPE html>
<html>
<head>
<script>
</script>
</head>
<body>
Value: <input type="number" id="n"><br>
<input type="submit" value="Send" onclick="checkPrime()">  <!--use function on click-->
</form>
<p id="derp">sdvfsdg</p>
<script>
function isPrime(num)
{
    var isPrime = true; //initially set to true
   for(var i=2; i<num; i++){      
        if(num%i == 0){  //if the num gets divide by any other number except itself
            isPrime = false;
        }
   }
   return isPrime;
}
function checkPrime(){   //function that gets called on send button click
    var number = document.getElementById("n").value;   //get the value of input
    number = parseInt(number);    //since it's a string,convert it into number
    document.getElementById("derp").innerHTML = isPrime(number);    //check if prime and display result
}
</script>

</body>
</html>