我正在写一个firefox插件。下面是引文的一部分
var cForm = '';
var doc = document;
for (i = 0; i < doc.forms.length; i++)
{
var a = doc.forms[i].name + "";
if ( a.search("itsMe") != -1)
{
cForm = i;
}
}//
if ( cForm != '' )
{
for (i = 0; i < doc.forms[cForm].length; i++)
{
var sTotal = 'doc.forms[' + cForm + '][' + i +'].type';
if ( eval(sTotal) == "button")
{
return sTotal ;
}
}
}第一个代码运行良好。第二个代码显示如下错误:"doc.forms is undefined“
怎么了??救命..。
发布于 2011-05-28 08:23:47
问题可能出在您对eval的使用上;它可能不知道doc,因为它不在范围之内。通常,您应该尽量避免使用eval。在这种情况下,您真的不需要它,所以尝试这样做:
if (i.length && typeof(cForm) != "undefined")
{
cForm = parseInt(cForm);
for (i = 0; i < document.forms[cForm].length; i++)
{
if (document.forms[cForm][i].type == "button")
{
return sTotal ;
}
}
}发布于 2011-05-28 12:15:23
比方说,doc.forms[0][0]可以是一个文本区,这将使它没有.type。
另外,你为什么要使用eval?
https://stackoverflow.com/questions/6158808
复制相似问题