передача данных из таблицы в php
Господа, такой вопрос. Есть таблица, заполняется добавлением строк через table.insertRow, insertCell. Визуально на странице таблица заполняется. Как можно данные этой таблицы передать на сервер (PHP)?
|
|
Deff, спасибо огромное!
|
Доброго времени суток. Столкнулся с параллельной проблемой.
Есть таблица, в ечейках лежат input`ы. Задача: сделать кнопку, которая добавляет в таблицу строчки. Я сделал так: function cl() { kol++; document.getElementById('table_element').innerHTML =document.getElementById('table_element').innerHTM L+'<tr><td><!-- Производитель--><select class="inp" name="maker'+kol+'" size="1"><option value="Форпост">Форпост</option><option value="Геона">Геона</option></select></td><td><!-- Марка--><input class="inp" name="model'+kol+'" type="text" size="10" maxlength="25"/></td><td><!-- Раз-р--><input class="inp" name="size'+kol+'" type="text" size="8" maxlength="10"/></td><td><!--Открыв--><select class="inp" name="rl'+kol+'" size="1"><option selected="" value=""></option><option value="Прав">Прав</option><option value="Лев">Лев</option></select></td><td><!-- Кол-во--><input class="inp" name="tk'+kol+'" type="text" size="5" maxlength="8" /></td><td><!-- Цена--> <input class="inp" name="tz'+kol+'" type="text" size="15" maxlength="20"/></td></tr>'; var i= document.getElementById('num').value; var a=parseInt(i)+1; document.getElementById('num').value=new String(a); } Проблема в следующем. Юзер заполняет инпуты в строчках, а когда нажимает "добавить строку", то функция перерисовывает таблицу заново и текст в инпутах слетает во всей таблице. В первом посте увидел намёк на решение проблемы, но на скрипте пишу второй день, подскажите по подробнее. И кстати есть у меня ответ на первый пост. Именно посредством PHP. Из функции выше видно, что инпутам к имени приписывается номер строчки( var kol). Вся таблица находится внутри тэга <form> и после таблицы следует <input id="num" name="kolvo" type="hidden" value="1"/> Последняя строка функции задаёт в скрытом инпуте количество имеющихся строк. А скрипт обработчик - счётчик от 1 до $_POST[kolvo] c циклом, если надо подробнее - пишите. |
Лось, во-первых, оборачивай код в
[JS]..[/JS] Во-вторых, твой пример не работает в IE8. В-третьих смесь js и html в кучу вызывает тошноту и головную боль. В-четвертых не нужно ни каких kolvo. Если поля именовать как name="field[]" то в php придет массив $_POST['field']. Делай так: изначально у тебя же есть как минимум одна строка таблицы? Вот и клонируй ее через cloneNode(true). Потом клонируешь клон и добавляешь в таблицу. |
Не суди строго. Второй день JS учу. По поводу IE - я пишу не для широкого пользования, у меня просто есть задача написать небольшую программу с каталогом и генерацией документов, с числом клиентов от 1 до 20. Я не профи и не скоро им стану. В пост уходит всё как надо, это уже проверено, всё работает. В общем, мой вариант астрономически далёк от совершенства, но всётаки он работает. Спасибо за критику, учту замечания.
Кстати о "шедеврах"... ещё одна адовая строчка родилась: ... cell1.innerHTML='<select class="inp" name="maker'+kol+'" size="1"> <?php include('../../../config/makers.php'); ?></select>'; ... У меня чуть мозг не взорвался когда ЭТО появилось на уме. |
Цитата:
|
<table id="mytable"> <tr> <td><input /></td> <td><select><option>Бла бла</option></select> </tr> </table> <button id="mybutton">Еще</button> <script> (function(){ var table = document.getElementById('mytable'), tbody = table.tBodies[0]; button = document.getElementById('mybutton'), sample = table.rows[0]; button.onclick = function() { tbody.appendChild(sample.cloneNode(true)); } })() </script> |
Цитата:
|
Цитата:
foreach(array('a','b') as $item) { echo $item; } |
Часовой пояс GMT +3, время: 09:02. |