IE11无法获取属性';值';的未定义引用或null引用


IE11 Unable to get property 'value' of undefined or null reference

我似乎遇到了一个令人沮丧的问题,似乎找不到答案。我正在尝试获取<td>标记中元素的值。id到达函数,但由于某种原因,我无法获得它的值。

JS-

function f(id)
  {
    console.log(id);
    expr=/ /gi;
    value = document.getElementById(id).value;
    value = value.replace(expr, "");
  //remaining code
  }

PHP

print "<td style='"height:20px;'"><input $disbled type='"text'" name='"".$values[$i][0]."'" onChange='"return f('".$values[$i][0]."')'" value='"".$values[$i][1]."'" class='"".$values[$i][2]."'"></td>'n"; 

任何帮助都将不胜感激!

有几个问题:

  1. 您的元素根本没有id

  2. 您的代码正成为隐式全局的恐怖(这是我贫血的小博客上的一篇帖子)的牺牲品。

这是一个固定版本:

function f(name)
{
    console.log(name);
    var expr=/ /gi;
    var value = document.querySelector('[name="' + name + '"]').value;
    value = value.replace(expr, "");
    //remaining code
}

#1通过使用CCD_ 3和通过CCD_

#2通过在f 中声明局部变量来固定

您也可以通过给元素一个id并坚持使用getElementById来修复#1。

您试图访问的输入没有定义ID属性。您应该添加它,以便通过getElementById()访问输入对象。

<input $disbled id='"".$id."'" type='"text'" name='"".$values[$i][0]."'" onChange='"return f('".$values[$i][0]."')'" value='"".$values[$i][1]."'" class='"".$values[$i][2]."'">