Записать значени из text в табличку

Есть такой код 
var html = "<table style='width:" + w + "px;height:" + h + "px;border:0px solid;' cellspacing='0' cellpadding='0'>" +               "<tr>" +                    "<td align='center'  colspan='2'>" +                         "<div class='sf_input' style='width:" + w + "px;height:" + Math.max(h - 20, 0) + "px;overflow-x:hidden;overflow-y:scroll;'>" +                         "<table style='width:"+ (w - 20) +"px' cellspacing='0' cellpadding='0'></table>" +                      "</div>"+                    "</td>" +               "</tr>" +               "<tr style='height:20px;'>" +                    "<td> Description </td>" +                    "<td style='width:100%'><input type=\'text\' readonly=\"readonly\"/></td>" +               "</tr>" +               "</table>";    this.parentNode.innerHTML = html;    this.description = this.parentNode.getElementsByTagName('input')[0];
Нужно: Когда пользователь водит  Description  в текстовое поле,  чтобы  эти данные  отображались в табличке.  Делаю вот так
var _this = this; this.ElemsTable = this.parentNode.childNodes[0];    this.ElemsTable.currentRow = null; this.description.******* = function () {          _this.ElemsTable.currentRow.cells[3].childNodes[2].innerHTML = this.value;          _this.ElemsTable.currentRow.description = this.value;    }
Но нифига не работает    
9 ответов

Samotnik, а что такое this во всем этом безобразии великолепии?Лично меня сильно смущает строчка
this.parentNode.innerHTML = html;
по идее, она перезатирает содержимое этого таинственного this таблицей, и никакого this.description просто не остается...


Samotnik, а что такое this во всем этом безобразии великолепии?
var _this = this;Добавлено через 1 минуту и 32 секунды
Лично меня сильно смущает строчка
может и так, но она работает !!!!Не работает  обработчик  кейап !!Т.е.  он работает,  если внутри этой  функции написать   
alert("Hello world");
то оно высветится!!    Но вот получить содиржимое таблички  никак не удается   


Но в строках 2-4 примера идет обращение к this, а не _this...


вот тут   ошибка
 this.ElemsTable = this.parentNode.childNodes[0];
фаер баг пишит  ElemsTable   has no properties


Samotnik, а если определить ElemsTable не как this.parentNode.childNodes[0], а как this.parentNode.getElementsByTagName('table')[0] - ошибка останется? А то в Gecko-браузерах в childNodes[0] часто норовят залезть пробелы между тегами...


Вобщем  что -  то сделал
var html = "<table style='width:" + w + "px;height:" + h + "px;border:0px solid;' cellspacing='0' cellpadding='0'>" +               "<tr>" +                    "<td align='center'  colspan='2'>" +                         "<div class='sf_input' style='width:" + w + "px;height:" + Math.max(h - 20, 0) + "px;overflow-x:hidden;overflow-y:scroll;'>" +                         "<table style='width:"+ (w - 20) +"px' cellspacing='0' cellpadding='0'></table>" +                      "</div>"+                    "</td>" +               "</tr>" +               "<tr style='height:20px;'>" +                    "<td> Description </td>" +                    "<td style='width:100%'><input type=\'text\' readonly=\"readonly\"/></td>" +               "</tr>" +               "</table>";    this.parentNode.innerHTML = html;    this.description = this.parentNode.getElementsByTagName('input')[0];    this.elements = this.parentNode.childNodes[0].rows[0].cells[0].childNodes[0].childNodes[0];    this.elements.currentRow = null;     this.description.******* = function () {     _this.elements.currentRow.cells[0].childNodes[0].innerHTML = this.value;     _this.elements.currentRow.description = this.value;    }
но данные добавляются не  в маленькую ячейку,  а  в изначальную таблицу, притом во всю!!  притом   новая таблицчка, где должно быть описание,   она  исчезает       


Ага... "
" я сразу-то и не приметил... Данные нужно в нее вносить? Тогда напрямую через innerHTML не получится (как минимум в IE), нужно эти  не сразу вставлять во внешнюю таблицу, а приписывать к данным перед вставкой в innerHTML div-а. Но вообще я не совсем понимаю, в каком контексте это все происходит. Можно увидеть полный код страницы?


Вобщем порблема в том, что имне  еще в одну таблицу занырнуть нужно.  т.е. 
_this.elements.currentRow.cells[0].childNodes[0].innerHTML = this.value;
Это и  есть сама таблица!!   и естессно   innerHTML  у нее не может быть !       Нужно порникнуть внутрь этой таблицы  к еще одной!! 


Вобщем сделал !!    Оказалось все очень просто !!