我的代码在Firefox中工作,但不能在Internet Explorer中工作

My code works in Firefox but not Internet Explorer

本文关键字:工作 Internet Explorer 但不能 我的 代码 Firefox      更新时间:2023-09-26

此代码在Firefox中工作正常,但IE9返回错误"_area"未定义

function dbasetype(){
    var dbasedata = document.forms[0]._dbase_name.value;
    dbasedata = dbasedata.toUpperCase();
    dbasedata = dbasedata.replace(/'s/g, "");

    if  (dbasedata.indexOf("UK_CONTACTS")==-1) {
        _area.value = _dbase_name.value;            
    } else {
        setarea();
    }

在您的回复之后,我现在已更改为对此的代码,并且可以工作。我不知道为什么它在没有定义的情况下在 Firefox 中工作。我想它从调用此函数的函数中携带了它们?

function dbasetype(){
var dbasedata = document.forms[0]._dbase_name.value;
        dbasedata = dbasedata.toUpperCase();
        dbasedata = dbasedata.replace(/'s/g, "");
var area = document.forms[0]._area;     
var _dbase_name = document.forms[0]._dbase_name;
if  (dbasedata.indexOf("UK_CONTACTS")==-1) {
        area.value = _dbase_name.value;         
     } else { setarea(); }
     }
}

_area在哪里定义? 您是否依赖于非标准行为,其中_area是页面上元素的 ID?如果是这样,请切换到document.getElementById('_area')

就我而言,IE不支持document.forms[]数组...