我需要使用“document.getElementById”吗?

Do I need to use "document.getElementById"

本文关键字:getElementById document      更新时间:2023-09-26

我仍然没有让这段代码在ie9中正常工作。不过,它在火狐中工作正常。我必须使用"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();
  } 
}