我对javascript及其语法确实不是很熟悉,但是我已经研究出了这个函数,并且当我递归调用它时,我不断收到错误。
function loading(id, formid, point)
{
document.getElementById(id).innerHTML='<span class="red">Please wait until this text disappears! Uploading'+point+'</span>';
document.getElementById(formid).submit();
if(point='...')
{point='';}
else
{point+='.';}
setTimeout('loading('+id+', '+formid+', '+point+')',10);
}
我得到的错误是:
Uncaught TypeError: Cannot call method 'submit' of null
所以变量 formid 似乎没有传递给递归调用。有人知道为什么吗?
谢谢!
梅尼
最佳答案
当您再次将 formid
计算到函数中时,您没有用引号将其括起来,因此您传递的是 undefined variable 而不是字符串。
eval 无论如何都是邪恶的。不要将字符串传递给 setTimeout
,而是传递函数。
setTimeout(function () {
loading(id, formid, point);
},10);
关于javascript - javascript问题,简单的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985245/