我对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没有传递给recursiv调用。谁知道为什么?
谢谢!
Maenny
答案 0 :(得分:4)
当您再次将formid
复制到函数中时,您没有用引号括起它,因此您传递的是未定义的变量而不是字符串。
setTimeout
,传递函数。
setTimeout(function () {
loading(id, formid, point);
},10);