javascript - 我需要使用 "document.getElementById"

标签 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 中运行时,应该更新的字段会被替换为空白,然后用户将失去对联系人记录的访问权限。

最佳答案

你的问题是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/

相关文章:

javascript - 全局变量不更新 onclick 函数

javascript - 机车滚动 - 从水平切换到垂直并返回

javascript - 圆线段碰撞

javascript - 从mysql数据库发送数据到客户端页面而不刷新页面(超时)

javascript - 使用 localStorage 存储对象

javascript - 输入变化时更新 Vue 减法方法

javascript - Gmail JS API - OAuth2 错误 invalid_scope

javascript - 异步 JavaScript, promise 链接 - 函数在解析后不会执行

javascript - 除非填写了所有文本输入字段,否则禁用表单按钮

javascript - @font-face 套件预加载器