Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Получение значений полей, динамически созданных javascript
 
 автор: 3D-GRAF   (10.06.2010 в 00:40)   письмо автору
 
 

Имею форму вида:

<form method='POST' action=''>
<table>
<tr><td><input type='text' name='field1' value='field1'></td></tr>
.....
.....
<tr><td id='insert'></td></tr>
</table>
</form>


Через javascript подставляю в элемент с id=insert следующий код:
<input type='text' name='field2' value='field2'>

Так вот, при получении данных в дальнейшем через PHP, в массиве $_POST содержится только значение поля field1, а вот динамически созданный field2 в массив не попадает. Что делать?

Заранее спасибо

  Ответить  
 
 автор: sl1p   (10.06.2010 в 00:51)   письмо автору
 
   для: 3D-GRAF   (10.06.2010 в 00:40)
 

как именно "подставляете"?

  Ответить  
 
 автор: 3D-GRAF   (10.06.2010 в 02:18)   письмо автору
 
   для: sl1p   (10.06.2010 в 00:51)
 

document.getElementById("insert").innerHTML = "<input type='text' name='field2'>";


Пробовал и так тоже:
input = document.createElement("input");
input.setAttribute("name", "field2");
document.getElementById("insert").appendChild(input);


Только это ничего не меняет. А вот если сделать appendChild напрямую к <form>, то тогда все работает, только это нарушает разметку, да и вобще мне в таблицу надо вставить.
P.S. Браузер опера

  Ответить  
 
 автор: sl1p   (10.06.2010 в 02:25)   письмо автору
 
   для: 3D-GRAF   (10.06.2010 в 02:18)
 

input = document.createElement("input"); 
input.type = 'text';
input.setAttribute("name", "field2");
document.getElementById("insert").appendChild(input);


если нет, попробуйте посмотреть что в форме, добавилось ли поле вообще.

<form onclick="alert(this.innerHTML)">

  Ответить  
 
 автор: 3D-GRAF   (10.06.2010 в 02:46)   письмо автору
 
   для: sl1p   (10.06.2010 в 02:25)
 

Спасибо большое, натолкнули на идею.

Структура на самом деле имела вид:
<table> 
<form method='POST' action=''> 
<tr><td><input type='text' name='field1' value='field1'></td></tr> 
</table>
..... 
..... 
<table>
<tr><td id='insert'></td></tr> 
</table> 
</form>


Т.е. начало формы находилось в другом контейнере. Не знал о таком :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования