Показать сообщение отдельно
  #1 (permalink)  
Старый 06.08.2015, 14:23
Интересующийся
Отправить личное сообщение для kazakn Посмотреть профиль Найти все сообщения от kazakn
 
Регистрация: 28.06.2012
Сообщений: 11

"Динамическое" получение значений input
Доброго дня форумчане!
Бьюсь головой второй день из-за того что не могу получить значение из input'a формы, которая создается по событию клика. Т.е. имеется таблица со значениями, по клику на строке создается div с input, в который вводится значение и далее оно попадает в бд... Так вот не получается у меня его вытащить... Пример кода (извиняюсь за смешивание js/jquery и всевозможные костыли/велосипеды -
function newDialog(dtitle, ddata)
  {
	var body = document.getElementsByTagName("body")[0];
	var id = "dlgTest_"+Math.floor(Math.random(1,53)*1000);
	$("[id ^= dlg]").remove();
	
	var dclose = document.createElement("div");
	dclose.setAttribute("class", "dialogClose");
	dclose.setAttribute("onclick", "delDiv('"+id+"');");
	dclose.innerHTML = "X";
	
	var dialog = document.createElement("div");
	dialog.setAttribute("class", "dialogScript");
	dialog.setAttribute("id", id);
	dialog.setAttribute("style", "display:none");
	
	dialog.innerHTML = dtitle+"<br>"+ddata;
	dialog.appendChild(dclose);
	body.appendChild(dialog);
	
	return id;
  }

var data = "<div align='center'><b>Запись №"+id+"</b><br><br><br><form id='updRec'>Введите значение:<br><br><input class='dbut' size='35' type='text' id='updText'></input><br><br><br><br><input class='dbut' type='button' value='ОБНОВИТЬ' onclick='alert("+$("#updText").val()+")'></input></form></div>";
var idDialog = newDialog("<hr size='8' color='#46c765'>", data);


Вот этих два момента
1. <input class='dbut' size='35' type='text' id='updText'></input>
2. onclick='alert("+$("#updText").val()+")'

Пробовал serialize формы, вложенные функции, просто добраться до элемента формы на js, но увы...

Думаю что всё дело в DOM и в том что это динамически создаваемый "диалог", которого нет в основном дереве. Либо нужно как-то обновлять всё дерево, либо подойти к этому с другой стороны и свежей головой
Любая помощь мне в пользу, помогите пожалуйста дорогие "фронтовики"
Ответить с цитированием