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

时间:2015-07-16 20:25:09

标签: 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)
        {
            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.");
    }
}

我在两个jsps中调用此函数,两个代码片段相同(注意相同的id值)

<input type=button value="Delete" id="deleteAlertsButton" title="Delete" class=fbutton onclick="javascript:deleteAlert('<%=state %>');">

现在这适用于IE8中的jsp,但在chrome中,它为第二个jsp提供了错误: 未捕获的TypeError:无法读取未定义的属性“getElementById”

请帮忙。

3 个答案:

答案 0 :(得分:2)

而不是

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

tempRndNumber

答案 1 :(得分:2)

您对form.document的引用不正确。 “文件”不在表格中

所以改变:

{{1}}

{{1}}

答案 2 :(得分:0)

alertsForm 的方法是什么?

尝试更改像这样的document.getElementById()

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

Definition and Usage