我正在写一个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 [0] [0]未定义”
什么错?帮助...
答案 0 :(得分:0)
问题可能在于您使用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 ;
}
}
}
答案 1 :(得分:0)
doc.forms[0][0]
可能是一个textarea,这会使它没有.type
。
另外,为什么你使用eval
,确切地说???