Javascript 文件。表格[i]代码在页面中起作用,但给出;“未定义”;Greasemonkey中的错误

Javascript 文件。表格[i]代码在页面中起作用,但给出;“未定义”;Greasemonkey中的错误,javascript,forms,greasemonkey,Javascript,Forms,Greasemonkey,因此,有一个页面包含大约50个表单 第一个表单是搜索,因此我跳过该表单 剩下的49个,我在乎 在这49张表格中,我只寻找go值等于续订的表格 我在ScratchPad中编写了代码,效果很好 我将其粘贴到Greasemonkey中,得到了“document.forms[I].go未定义” 这是我的密码: var i=1 ; var total = document.forms.length -1; while (i<=total) { var go_val = document.f

因此,有一个页面包含大约50个表单

第一个表单是搜索,因此我跳过该表单

剩下的49个,我在乎

在这49张表格中,我只寻找go值等于续订的表格

我在ScratchPad中编写了代码,效果很好

我将其粘贴到Greasemonkey中,得到了“document.forms[I].go未定义”

这是我的密码:

var i=1 ;
var total = document.forms.length -1;
while (i<=total) {

    var go_val = document.forms[i].go.value;
    if(go_val == "renew"){
        document.forms[i].setAttribute('target','_blank');
    }

    i++;
}
为什么它在scratch pad中起作用,而在Greasemonkey中却不起作用?

我发现了:并且找到了答案

var i=0;
var total = document.forms.length -1;
while (i<=total) {
    var form = document.forms[i];
    if(form.elements.namedItem("go")){
        var input = form.elements.namedItem("go");
        var go_val = input.value;

        if(go_val == "renew"){
            document.forms[i].setAttribute('target','_blank');
        }
    }
    i++;
}
var i=0;
var总计=document.forms.length-1;

while(i)您没有缩进代码的任何特定原因?您确定这是正在运行的代码吗?
(i
extra
)应该删除..复制代码时出错了。我更正了它
var i=0;
var total = document.forms.length -1;
while (i<=total) {
    var form = document.forms[i];
    if(form.elements.namedItem("go")){
        var input = form.elements.namedItem("go");
        var go_val = input.value;

        if(go_val == "renew"){
            document.forms[i].setAttribute('target','_blank');
        }
    }
    i++;
}