2013-12-20 6 views
1

Я динамически создаю текстовое поле и динамически назначаю его идентификатор. в 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 или другими инструментами разработчика). Также вы говорите, что предупреждение не срабатывает - что именно происходит? Если элемент не был найден, он должен показать сообщение «null», я считаю. – 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»)

Смежные вопросы