Javascript 我的代码可以在Firefox中使用,但不能在Internet Explorer中使用
这段代码在Firefox中运行良好,但IE9返回一个错误,即“未定义区域”Javascript 我的代码可以在Firefox中使用,但不能在Internet Explorer中使用,javascript,Javascript,这段代码在Firefox中运行良好,但IE9返回一个错误,即“未定义区域” function dbasetype(){ var dbasedata = document.forms[0]._dbase_name.value; dbasedata = dbasedata.toUpperCase(); dbasedata = dbasedata.replace(/\s/g, ""); if (dbasedata.indexOf("UK_CONTACTS")==
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是页面上元素的ID?如果是这样,请切换到document.getElementById“u区域”就我而言,IE不支持document.forms[]数组…因为您提供的代码在.value行之前没有提到“u区域”,所以很难找出它不起作用的原因。此外,您一次与家长一起引用数据库名称,一次不按顺序引用其他问题。这似乎是有线的。通常IE具有映射到ID而不是Firefox的全局对象。确定你没有混淆Firefox和IE吗?好吧,如果_area是页面元素的id,那么它可以在IE中工作,但不能在Firefox中工作……是这样吗?我不记得是哪个浏览器做的。。。仍然无法回答“面积”的定义是的,我同意,问题出在“面积”上。Firefox对于不使用元素id值进行隐式变量处理相当固执;webkit浏览器的行为类似于IE。我认为这是IE中一个可怕的mis功能,不应该被模仿,但那只是我自己-结果是我需要定义“_区域”。它是在调用该函数的函数中定义的,并且在Firefox中工作正常,奇怪。请记住,我只是在晚上编程了几个星期:s