0

此代码在 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(); }
     }
}
4

2 回答 2

0

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

于 2012-06-03T17:32:34.257 回答
0

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

于 2012-06-03T17:35:29.020 回答