Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一段html+javascript代码,用于查找输入中的数字是否为素数,然后显示结果_Javascript_Html - Fatal编程技术网

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

一段html+javascript代码,用于查找输入中的数字是否为素数,然后显示结果,javascript,html,Javascript,Html,学校项目。我必须设计一个页面,其中包含一个输入框、一个将输入的数字发送到函数的按钮,以及一个显示结果的段落。这是我目前的进展,问题是每次都是假的。对不起,这个问题太琐碎了,我对网络编码完全是个新手 <!DOCTYPE html> <html> <head> <script> function isPrime($n) { $i=2; if ($n==2){ return true; } $sqrtN = sqrt($n); while ($

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

<!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";
}

而且不确定您是否真的需要$everywhere-这是一个PHP的东西

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

<!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>

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

sdvfsdg

jdfs 函数x{ document.getElementById'derp'。innerHTML=isPrimeNumberdocument.getElementById'n'。值; } 功能isPrimen{ i=2; 如果n==2{ 返回true; } sqrtN=Math.sqrtN; document.getElementById'try'。innerHTML=n;
首先,我从代码中删除了这些行,因为它们似乎与问题$sqrtN=sqrt$n无关;$i工作得很好,但不仅仅适用于100以下的数字。使用11位数字对其进行了测试,结果是正确的。谢谢alot@Kinook是的,很抱歉我编辑了所有数字的代码:忘记删除注释请接受如果你愿意,我很高兴能帮上忙。