我仍然没有让这段代码在 ie9 中正常工作。不过在 Firefox 中它工作正常。我必须使用“document.getElementById”才能在 ie9 中工作吗?如果是的话,它适合在哪里?
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(); }
}
编辑 单击“保存”按钮时,上面的代码会更新数据库中的字段(控制个人的访问权限)。正如我之前所说,它在 Firefox 中工作正常,但当在 ie9 中运行时,应该更新的字段会被替换为空白,然后用户将失去对联系人记录的访问权限。
最佳答案
你的问题是IE有一个愚蠢的属性,即每个ID也是一个全局(只读)对象。您只需在 JavaScript 中重命名变量,如下所示:
function dbasetype() {
var dbasedata = document.forms[0]._dbase_name.value;
dbasedata = dbasedata.toUpperCase().replace(/\s/g, "");
var x_area = document.forms[0]._area;
var x_dbase_name = document.forms[0]._dbase_name;
if(dbasedata.indexOf("UK_CONTACTS")==-1) {
x_area.value = x_dbase_name.value;
} else {
setarea();
}
}
关于javascript - 我需要使用 "document.getElementById",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901234/