0

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

4

1 回答 1

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();
  } 
}
于 2012-06-05T16:58:20.720 回答