我有一个问题,显示javascript输出,没有任何用户操作

时间:2013-03-19 14:39:14

标签: javascript html

这是问题:如果一个整数大于1并且只能被1和它自身整除,则称该整数为素数。例如,2,3,5和7是素数,但4,6,8和9不是素数。 a)编写一个函数,确定一个数字是否为素数。 b)在一个脚本中使用此函数,该脚本确定并打印1到10000之间的所有素数。在确定找到所有质数之前,您真正必须测试这些10000个数中的多少个?在a中显示结果。

这是我的代码:

function isPrime(n)
{
var  prime=true;
        if(n===1 || n===0)
        {

            prime= false;
        }

        if(n==2)
        {
            prime= true;
        }
        else
        {
            for(var i=2;i<n;i++)
            {
                if(n%i===0)
                {
                    prime= false;
                }
            }
        }
        return prime;
}
function printPrimes()
{

    for(var i=0; i<=1000; i++)
    {
        if(isPrime(i)===true)
        {
            document.writeln("<p>" + i + "</p>");
        }
    }

}
printPrimes();

这是我的HTML:

<!DOCTYPE html>
<html>
    <head>
    </head>
        <body>
            <h1> Prime numbers between 1 and 1000 are: </h1>
            <textarea rows="10" cols="15">
            <script src="prime.js" type="text/javascript"> </script>
            </textarea>
        </body>
</html>

当我在chrome上打开html文件时,只显示标题,脚本似乎无法运行! 并且只有脚本标签显示在文本区域中显示的textarea中,我尝试了一百万件没什么用,我怎么想在TEXTAREA标签中输出脚本??????     

我试过这个但仍然没有去:

 function printPrimes()
{
    var str="";
    for(var i=0; i<=1000; i++)
    {
        if(isPrime(i)===true)
        {
            str+=i +" /n";
        }
    }
    document.getElementById('primes').value=str;

}
printPrimes();

HTML:

<!DOCTYPE html>
<html>
    <head>
    </head>
        <body>
        `   <script src="prime.js" type="text/javascript"> </script>
            <h1> Prime numbers between 1 and 1000 are: </h1>
            <textarea id="primes" rows="40" cols="50">

            </textarea>
        </body>
</html>

很抱歉转发和轻微编辑,不会再发生,我新的堆栈溢出并已被禁止,如果我的禁令可以解除,我只会问更多的问题,如果我已经做了研究,如果我打岩石底部似乎没有任何工作。我注意到编辑帖子,发布一个重复是一个愚蠢的错误,希望下来的选票被删除,我的脚本新手,和堆栈溢出新手,我ddnt意识到id被禁止愚蠢的问题。遗憾

3 个答案:

答案 0 :(得分:2)

您可以使用javascripts document.getElementById来获取textarea(当然您必须为textarea提供一些ID)。然后更改此文本区域的value。看看this answer

答案 1 :(得分:0)

您不能在textarea中使用HTML。

答案 2 :(得分:0)

这里尝试以下代码。注意更新的textarea元素,JS引用的位置和值的输出。

JS档案

function isPrime(n){
    var  prime=true;
    if(n===1 || n===0)
    {

        prime= false;
    }

    if(n==2)
    {
        prime= true;
    }
    else
    {
        for(var i=2;i<n;i++)
        {
            if(n%i===0)
            {
                prime= false;
            }
        }
    }
    return prime;
}
function printPrimes()
{

  for(var i=0; i<=1000; i++)
  {
      if(isPrime(i)===true)
      {
          //document.writeln("<p>" + i + "</p>");
          document.getElementById('primeNumbers').value = document.getElementById('primeNumbers').value + i + '\n'; 
      }
  }

}
printPrimes();

HTML

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <h1> Prime numbers between 1 and 1000 are: </h1>
        <textarea rows="10" cols="15" id="primeNumbers"></textarea>
        <script src="prime.js" type="text/javascript"> </script>
    </body>
</html>