Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-无法读取null的属性值_Javascript_Html_Getelementbyid - Fatal编程技术网

Javascript JS-无法读取null的属性值

Javascript JS-无法读取null的属性值,javascript,html,getelementbyid,Javascript,Html,Getelementbyid,我试图检查用户是否在HTML表单中实时输入了正确的字符串 这是HTML <div class="col-md-2"> <input class="form-control" name="nbequipement" id="nbequipement" placeholder="" type="text"> <input type="button" value="Creer le tableau" onclick="GenerateTable()"

我试图检查用户是否在HTML表单中实时输入了正确的字符串 这是HTML

  <div class="col-md-2">
    <input class="form-control" name="nbequipement" id="nbequipement" placeholder="" type="text">
    <input type="button" value="Creer le tableau" onclick="GenerateTable()" />
  </div>
下面是函数:

function checkHostname(containerId, elementId) {
    var textContainer = document.getElementById(elementId);
    var texte = textContainer.value;
    //CHECK THE VARIABLE "texte"
    //var lblValue = document.getElementById("lblValue");
}

我不明白为什么会产生这个错误。有些人谈到代码在编写之前执行,但在这种情况下似乎不可能执行。

由于某种原因,您的元素不存在。但您可以避免错误:

函数checkHostnamecontainerId,elementId{ var textContainer=document.getElementByIdelementId; iftextContainer{ var texte=textContainer.value; }
} 克里斯蒂的评论就是你的答案。如果您有:

cell1.innerHTML = '<input ... onKeyPress="checkHostname('+cell1.id+', hostname'+i+')" ...>' ;
如果cell1.id是say foo,i是say 0,那么它将被视为如下标记:

<input ... onKeyPress="checkHostname(foo0, hostname0)" ...>
因此,foo0和hostname0将被视为变量名,而不是字符串。所以你需要用引号把它们括起来,例如

cell1.innerHTML = '<input ... onKeyPress="checkHostname(\''+cell1.id+'\', \'hostname'+i+'\')" ...>' ;
因此,它被视为:

<input ... onKeyPress="checkHostname('foo0', 'hostname0')" ...>'
当然,这仍然取决于具有这些ID的元素,以及运行代码时文档中存在的正确ID。你说是这样的,所以它应该可以工作。

onKeyPress=checkHostname'+cell1.id+',hostname'+i+'onKeyUp你需要在引号中添加elementId主机名'+i+'
cell1.innerHTML = '<input ... onKeyPress="checkHostname(\''+cell1.id+'\', \'hostname'+i+'\')" ...>' ;
<input ... onKeyPress="checkHostname('foo0', 'hostname0')" ...>'