onclick从提交输入调用函数不起作用

时间:2012-06-11 16:15:47

标签: javascript ajax

这是我通过AJAX动态编写的提交按钮:

var htmlpage = "<div class='pages'>"
                for (i=1 ; i < pages+1 ; i++)
                    {
                        htmlpage += "<li><input type='submit' value='"+i+"' onclick='updatefilters;' /></li"
                    }
                htmlpage += "<div>"    
                htmlpage += "</ul>";

我正在尝试重新运行updatefilters()函数来更改显示的项目。我认为在没有看到所有代码的情况下进行概念化有点困难......但实质上,我需要做的就是每次点击提交按钮再次运行该函数...现在,它给了我一个{{1}萤火虫中的错误。

继承我的整个JS以供参考

updatefilters is undefined

1 个答案:

答案 0 :(得分:1)

这种方法似乎存在一些问题。

首先,您实际上并未在onclick处理程序中调用该函数。

htmlpage += "<li><input type='submit' value='"+i+"' onclick='updatefilters;' /></li"

应该是:

htmlpage += "<li><input type='submit' value='"+i+"' onclick='updatefilters();' /></li"

其次,无法从全局范围访问updatefilters函数,这是执行匿名函数的地方。您必须将function updatefilters(ev, ui)移到onload回调之外,可能会移到脚本块的顶部。