将表单提交到javascript并收到结果后,如果不重新加载页面,则无法提交另一个值

将表单提交到javascript并收到结果后,如果不重新加载页面,则无法提交另一个值,javascript,html,Javascript,Html,我编写了一个javascript代码来查找第n个素数,虽然效率不高,但它确实给出了结果。但是,在第一次提交值并获得结果后,我可以在同一页上再次提交另一个值,但我不会得到结果 测试 函数素数(n){ 如果(n==1) 窗口警报(“2”); else如果(n==2) 窗口警报(“3”); 否则{ var-arr=[]; 素数=2; 而((arr.length)!=n) { 计数=0; 对于(i=2;i您在函数中赋值给prime,但您没有将其声明为局部变量。因此它将赋值给函数的变量。在函数中添加l

我编写了一个javascript代码来查找第n个素数,虽然效率不高,但它确实给出了结果。但是,在第一次提交值并获得结果后,我可以在同一页上再次提交另一个值,但我不会得到结果


测试
函数素数(n){
如果(n==1)
窗口警报(“2”);
else如果(n==2)
窗口警报(“3”);
否则{
var-arr=[];
素数=2;
而((arr.length)!=n)
{
计数=0;

对于(i=2;i您在函数中赋值给
prime
,但您没有将其声明为局部变量。因此它将赋值给函数的变量。在函数中添加
let prime
(或
var prime
,对于ES5)使其成为局部变量

您的代码也受到了我所说的影响:您从不声明
count
num
,因此第一次分配给它们时,您就为它们创建全局变量

基本上:在需要变量的范围内声明变量(在本例中,在
prime
函数中)