Javascript JS-无法读取null的属性值
我试图检查用户是否在HTML表单中实时输入了正确的字符串 这是HTMLJavascript 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()"
<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')" ...>'