Динамическая таблица на JS+PHP
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Динамическая таблица на JS+PHP - 2005-07-26 19:06:17
|
|
|
hell_admin
Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
|
Дрямс, надо реализвать динамическую таблицу на JS+PHP, так что бы она была под основной формой, и при нажатии на кнопку в ней могли бобавляться строки, а при нажатии на submit все данные отправлялись.
Выглядит примерно так
_____________________
название:______ адрес:____ количество:____ ….. поля формы …. …. ________________________ таблица ________________ кому | скока | ….. ____ |добавить запись |
так вот как сделать так чтоб верхняя часть не менялась а строки в таблицу добавлялись и по нажатию этого сабмит все данные вместе отправлялись Ессно неизвестно скоко строк в таблице.
|
|
|
Динамическая таблица на JS+PHP - 2005-07-26 22:47:01
|
|
|
MrBlack
Сообщений: 268
Оценки: 0
Присоединился: 2004-05-24 00:02:27
|
<table name="MyCoolTable">…</table> <button name=knopka>Добавить запись</button>
<Sсгiрt language=javaSсгiрt for=knopka event=опс1iск> dосиmеnt.all.MyCoolTable.innerHTML += "<tr> строка таблицы с полями формы </tr>"; </Sсгiрt>
Если поля добавляютя каждый раз с одинаковыми именами, то $_POST['поле'] будет массивом c числовыми ключами.
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 10:40:16
|
|
|
hell_admin
Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
|
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 10:42:52
|
|
|
hell_admin
Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
|
Названия у каждого набора строк должны быть разные, иначе как я их потом достану? Или если сделать вот так : <code> <form ACTION="someurl.php" METHOD="GET">
<input type="text" name="somename"> <input type="text" name="somename"> .. <input type="text" name="somename">
</form> </code>
поля передадутся вот так someurl.php?somename="sometext"&…&somename="sometext" то потом можно будет достать все текстовые поля, вот так:
$i=0; while(isset(($HTTP_GET_VARS["somename"]))<BR>{<BR> $res=$HTTP_GET_VARS["somename"][i++];<BR>}<BR><BR>И еще такой вопрос в чем разница между $HTTP_GET_VARS b $_GET???
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 11:10:40
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Нет, они у тебя перекроются. Просто добавляй к somename какой-нибудь порядковый номер: somename1, somename2 и т.д.
>> И еще такой вопрос в чем разница между $HTTP_GET_VARS b $_GET??? $HTTP_GET_VARS - это просто массив данных, заполняющийся при выполнении скрипта. Для того, чтобы использовать его в своих функциях придется его делать глобальным массивом, иначе он не будет виден.
$_GET - т.н. суперглобальный массив, изначально доступный в любой области видимости.
Вот и вся разница :)
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 13:33:35
|
|
|
MrBlack
Сообщений: 268
Оценки: 0
Присоединился: 2004-05-24 00:02:27
|
Ни][рена не перекроются! Я проверял [sm=mad.gif][sm=mad.gif][sm=mad.gif] А урл при этом (в случае метода GET) будет такой: someurl.php?someone[0]=text1&someone[1]=text2&…&someone[10]=text10 Только учти, что длина урла может быть ограничена браузером, сервером или проксей, так что POST рулит.
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 14:04:59
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
>> Ни][рена не перекроются! Я проверял Да, ну значит на GET не перекрываются… В случае с POST это уже не проканает
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 14:20:31
|
|
|
hell_admin
Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
|
Не знаю у меня перекрываются, но это пофиг буду называть поразному.
Тока все это дело у меня немного неработает, вот такой кодец: <code>
<input type="hidden" name="rowcount" value="0"> <table id="table" border=1 cellspacing=2 cellpadding=4> <caption>Размещение заказов</caption> <thead><td>Номер Участка</td><td>Количество</td><td><a href="#" опс1iск="return addline();">Добавить строку</a></td></thead> </table>
<Sсгiрt language="JavaSсгiрt"> function addline() { c=++dосиmеnt.getElementById('rowcount').value; dосиmеnt.getElementById('table').innerHTML+="<tr><td><input type=text name=some></td><td><input type=text name=another></td>></tr>"; } </Sсгiрt>
</code>
вариант dосиmеnt.all.table непроходит, ругается что или NULL или не объект это самый all.table, так что я вместо name импользую id и getelementbyid.
данные вставляются только структура таблица нарушается, сначала она такая _____________________ |# |Kol-vo |Add line | ———————- а по нажатию на добавить получается
____________________________________________________ |# Kol-vo add line [текстовое-поле] [текстовое поле]| ——————————————————
Все как бы в одной ячейке и так добавляется.
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 15:25:54
|
|
|
hell_admin
Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
|
Блин ваще какая-то чушь заменил функцию добавления на тестовую: function addline() { c=++dосиmеnt.getElementById('rowcount').value; а1егt(dосиmеnt.getElementById('table').innerHTML); dосиmеnt.getElementById('table').innerHTML = dосиmеnt.getElementById('table').innerHTML; а1егt(dосиmеnt.getElementById('table').innerHTML); }
так вот что она мне выдает в 1 раз а1егt'om: <CAPTION>Размещение заказов</CAPTION><TBODY><TR><TD>Номер Участка</TD><TD>Количество</TD><TD><A href="http://127.0.0.1/zakaz.php?action=add#" опс1iск="return addline();">Добавить строку</A></TD></TR><TR id="newline"></TR></TBODY>
а вот что второй раз, хотя я innerHTML присваиваю самомму себе???: Размещение заказовНомер УчасткаКоличество<A href="http://127.0.0.1/zakaz.php?action=add#" опс1iск="return addline();">Добавить строку</A>
видимо JS как то выкидывает открывающие и закрывающие теги, но я тепер блин ваще ниче непонимаю.
|
|
|
Динамическая таблица на JS+PHP - 2005-07-27 22:40:55
|
|
|
MrBlack
Сообщений: 268
Оценки: 0
Присоединился: 2004-05-24 00:02:27
|
Ну если всё так плохо, то есть другой вариант. Его по достоинству оценят фанаты ООП. Создаем каждый тег методом createElement (не помню, какого объекта, кажется, dосиmеnt) и вставляем одним из методов insertAfter или insertBefore того объекта, внутрь которого вставляем.
|
|
|
|
|