Javascript document.forms[i][j]有问题。类型,返回未定义
我正在写一个firefox插件。这是引文的一部分Javascript document.forms[i][j]有问题。类型,返回未定义,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,我正在写一个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; } } var cForm=''; var doc=单据; 对于(i=0;i
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;
}
}
var cForm='';
var doc=单据;
对于(i=0;i
//
if(cForm!='')
{
对于(i=0;i
第一个代码运行良好。第二个代码显示一个错误,如:“文档表单[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 ;
}
}
}
if(即长度和类型(cForm)!=“未定义”)
{
cForm=parseInt(cForm);
对于(i=0;i
doc.forms[0][0]
可以是一个文本区域,比如说,这将使它没有。键入
另一方面,您为什么要使用eval
,确切地说???错误真的是doc.表单[0][0]未定义
还是doc.表单[0][0]未定义
?注意forms.oops中的s
!没错,它的doc.forms[0][0]。type给出了未定义的:(@Michael,实际上我为任何类型的网页制作了这个插件。所以,没有这样的HTML。我复制了上面的代码并粘贴在导航栏上,就像javascript:(上面的代码)一样,它可以工作!但是当我把它放在xpi(FF插件)中时,它就不工作了。它给出了上面提到的错误:(您的代码给出了此错误类型错误:doc.forms[cForm]未定义。我添加了一些清理。请重试,并确保在运行我的代码之前设置了cForm
。我不知道发生了什么。但它不起作用。因此,我添加了其他{alert('not executed')}。我发现来自添加的else部分的警报每次都在执行。我现在认为FF不支持加载项中的document.form[i][j],尽管我使用的是FF版本4.0.1!!:(最后我得到了:)它的doc.forms[0]。elements[0]。键入
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 ;
}
}
}