Ох уж этот джава скрипт... Есть 2 функции [js]function add() { document.getElementById('vfild').innerHTML+="<span name='fild'><table width=100%><tr><td> </td><td><input type=text name=vars[] value='' size=30></td><tr><td>Комментарий(не обязательно)</td><td><input type=text name=admin_say[] size=30></td></table></span>"; } function del() { var res=''; var vars=document.getElementsByName('fild'); for(i=0;i<vars.length-1;i++) { res+=vars.innerHTML; } document.getElementById('vfild').innerHTML=res; }[/js] Первая не созраняет value элементов Вторая, при первом клике работает как надо, а при втором удаляет сразу все элементы
[js]function del() { var o = document.getElementById('vfild'); if(o.childNodes.length) o.removeChild(o.lastChild); else alert('не мучай кнопку!'); }[/js] ты б не новую таблицу каждый раз создавал, а, хотя бы, ряд в 1 большой
ои... даже не знаю что за removeChild и lastChild но работает! =) А как быть с первой? повторюсь, там при нажатии всё что было до этого введено удаляется.... всмысле? новый <tr>? впринципе без разницы...
вообще, копай в сторону DOM (Document Object Model). Много вопросов отпадёт. Или тот же jQuery или Prototype заюзай. В твоём случае чтобы всё не переделывать, можно так сделать: [js] function SaveValue(fields) { var val = new Array(); var o = document.getElementsByName(fields); if(o.length) for(var i=0;i<o.length;i++) val = o.value?o.value:''; return val; } function ReturnValue(fields,arr) { var o = document.getElementsByName(fields); if(o.length && arr.length) for(var i=0;i<o.length-1;i++) o.value = arr; return 1; } function add() { var o = document.getElementById('vfild'); var val1 = new Array(); var val2 = new Array(); val1 = SaveValue('vars[]'); val2 = SaveValue('admin_say[]'); o.innerHTML+="<span name='fild'><table width=100%><tr><td> </td><td><input type=text name=vars[] value='' size=30></td><tr><td>Комментарий(не обязательно)</td><td><input type=text name=admin_say[] size=30></td></table></span>"; ReturnValue('vars[]',val1); ReturnValue('admin_say[]',val2); } [/js] но это всё костыль, не имеющий, в принипе, права на существование.
Блин,жесть скрипт =) Вообще не понятно, почему value не сохраняются, я же не заменяю полностью поле vfild а добавляю в конец новый элемент... ну ни чё =) главное работает! так что огромное спасибо, выручил =) яб сам такого не написал...
Наверное потому, что в innerHTML value - пустое. Не проверял? Я так понимаю, что в innerHTML хранится текст, который содержался на странице при загрузке или после последнего изменения innerHTML или иным способом изменения структуры страницы. Все остальные манипуляции с контролами, как то выбор пользователем значения или изменение его при помощи java-скрипта изменяют лишь dom, но в тексте не отображаются.