2013-12-20 24 views
1

我动态创建文本框并动态分配其ID。在JavaScript中,如果我调用getElementById警报失败,则什么都不会发生。动态添加文本ID,getElementById

<% for(int i=0; i<lines.length;i++) { 
    if(lines[i].contains(" ")) { %> 
    <input type=text name='key1<%=i%>' id="idkey<%=i%>" value ="<%=abc%>"/> 
          <% 
    } 
} %> 

的Javascript:

for(j=0; j<len; j++){ 
    var lblElement = getElementById("idkey"+j); 
    alert(lblElement); 
} 
+1

而问题是什么? – Florent

+0

首先检查元素是否在DOM中正确创建(使用FireBug或其他开发人员工具)另外,您说警报失败 - 究竟发生了什么?如果元素没有找到,它应该显示消息说我认为“空”。 – lot

+0

JSLint或JSHint是你的朋友。把它们连接到你的IDE – epascarello

回答

9

您忘记使用全局命名文档的getElementById

document.getElementById('idkey'+j)

1

你错过了文档的getElementById之前:

for(j=0; j<lines.length; j++){ 
    var lblElementID = document.getElementById('idkey'+j); 
    console.log(lblElementID); 
} 
1

您忘记使用文件全局命名空间

正确的方式来访问的getElementById是以下

文件 .getElementById( 'idkey')