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

时间:2012-06-05 16:35:12

标签: javascript

我仍然没有让这个代码在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中运行时应该更新的字段并被替换为空白然后用户失去对联系人记录的访问权。

1 个答案:

答案 0 :(得分:2)

你的问题是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();
  } 
}