javascript getElementById在chrome中给出错误,但在IE中工作正常

javascript getElementById在chrome中给出错误,但在IE中工作正常,javascript,getelementbyid,Javascript,Getelementbyid,下面是我的Javascript函数: function deleteAlert(tabstate){ var form = window.document.alertsForm; var numOfElements = form.elements.length; var okDelete = "false"; for (i=0; i < numOfElements; i++) { if(form.elements[i].checked

下面是我的Javascript函数:

function deleteAlert(tabstate){
    var form = window.document.alertsForm;
    var numOfElements = form.elements.length;
    var okDelete = "false";
    for (i=0; i < numOfElements; i++)
    {
        if(form.elements[i].checked)
        {
            okDelete = "true";
            break;
        }else{
            okDelete = "false";

        }

    }
    if(okDelete == "true")
    {
        //changPage("Screen1b.html");  only for prototype
        form.action="/cpi/producer/myAlerts/alertsGateway?jadeAction=MA06&tab="+tabstate;
        form.document.getElementById('deleteAlertsButton').disabled=true;
        form.submit();

    }else{
        alert("Please select one or more items to delete.");
    }
}
函数deleteAlert(tabstate){
var form=window.document.alertsForm;
var numOfElements=form.elements.length;
var okDelete=“false”;
对于(i=0;i
我在两个JSP中调用这个函数,这两个JSP的代码片段是相同的(注意相同的id值)


现在,这对IE8中的两个jsp都非常有效,但在chrome中,它为第二个jsp提供了一个错误: 未捕获的TypeError:无法读取未定义的属性“getElementById”

请帮忙。

代替

form.document.getElementById('deleteAlertsButton').disabled=true;
试一试

而不是

form.document.getElementById('deleteAlertsButton').disabled=true;
试一试


您对form.document的引用不正确。“文件”在表单之外

因此,改变:

form.document.getElementById('deleteAlertsButton').disabled=true;


您对form.document的引用不正确。“文件”在表单之外

因此,改变:

form.document.getElementById('deleteAlertsButton').disabled=true;


警报窗体的方法是什么

尝试更改document.getElementById(),如下所示

document.getElementById('deleteAlertsButton').disabled=true;

警报表单的方法是什么

尝试更改document.getElementById(),如下所示

document.getElementById('deleteAlertsButton').disabled=true;

我认为您对form.document的引用不正确。“文档”在表单之外。为什么不使用window.document.getElementById('deleteAlertsButton')…我怀疑这可能与您将布尔值用作字符串有关。布尔值
true
与字符串值
“true”
不同;同样地,
false
不等于
“false”
。您还使用松散的相等运算符
==
进行比较,但应该使用严格的标识运算符
==
。这可能会导致意外结果。我认为您对form.document的引用不正确。“文档”在表单之外。为什么不使用window.document.getElementById('deleteAlertsButton')…我怀疑这可能与您将布尔值用作字符串有关。布尔值
true
与字符串值
“true”
不同;同样地,
false
不等于
“false”
。您还使用松散的相等运算符
==
进行比较,但应该使用严格的标识运算符
==
。这可能会导致意外的结果。但是相同的javascript函数适用于其他jsp。但是相同的javascript函数适用于其他jsp。