javascript - javascript问题,简单的递归函数

标签 javascript recursive-query

我对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/

相关文章:

javascript - 为什么 JavaScript 提交重新加载页面并通过按钮提交进行客户端页面验证

javascript - 使用 XML 创建无序列表

javascript - 如何使用jquery在不可编辑的文本框中获取默认结束日期

sql - 无法弄清楚这个 Postgresql 递归自连接

sql - 在 SQL 中复制父子结构

javascript - Three.js 鼠标拾取对象

javascript - 在 java 中安全运行 javascript 代码

sql - 没有函数或游标的递归 SQL JOIN?

sql - PostgreSQL 中按数组重叠分组

sql - PostgreSQL 有效地找到线性列表中的最后一个后代