Я читал похожие посты по этому вопросу, но в настоящее время не работает. Мой немного отличается.
Я вызываю функцию JavaScript addFormField, которая создает динамический элемент ввода в форме. Эта часть отлично работает. В этой функции я вызываю функцию loadData (id) JQuery, чтобы проверить, существует ли идентификатор динамически созданного элемента, но его нет. Правильно ли вызывается loadData для ожидания создания идентификатора входного элемента перед проверкой его создания? Спасибо!
function addFormField() {
var id = document.getElementById("id").value;
$("#divTxt").append("<p id='row" + id + "'><label for='txt" + id + "'>Field " + id + " <input type='text' size='20' id='txt" + id + "'><p>");
$(function () {
loadData(id);
});
id = (id - 1) + 2;
document.getElementById("id").value = id;
}
function loadData(id) {
if ( $('#txt' + id).length ){
alert('success');
}
else {
alert ('fail');
}
}
<html>
<p><a href="#" onClick="addFormField(); return false;">Add</a></p>
<form method="get" id="form1" action='#'>
<input type="hidden" id="id" value="1">
<div id="divTxt"></div>
</html>