Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Добавление input в форму (https://javascript.ru/forum/events/39099-dobavlenie-input-v-formu.html)

za-ek 15.06.2013 18:13

Добавление input в форму
 
Прежде чем разбить компьютер и пустить себе пулю я решил обратиться за помощью, поясните, почему так происходит. Убедительная просьба, если отправляете гуглить, укажите фразу, с которой это надо делать.

Задача простая, необходимо добавить строку в таблицу, в которой содержатся input`ы

Вот HTML-код:

<table id="propertie-table">
	<thead>
		<tr>
			<td>Название</td>
			<td>Код</td>
			<td></td>
		</tr>
	</thead>
	<tbody>
	<tr>
		<td><input type="text" name="propertie_name[6]" value="Документ"/></td>
		<td><input class='input' type="text" name="propertie_code[6]" value="document" /></td>
		<td>
			<select name="propertie_type[]">
				<option value="6" selected>Строка</option>
				<option value="7">Число</option>
				<option value="8">Файл</option>
				<option value="9">Список</option>
				<option value="10">Текст</option>
			</select>
		</td>
	</tr>
	<tr class="first-row" rel="7">
		<td><input type="text" name="propertie_name[]" /></td>
		<td><input type="text" name="propertie_code[]" /></td>
		<td>
			<select name="propertie_type[]" >
				<option value="6">Строка</option>
				<option value="7">Число</option>
				<option value="8">Файл</option>
				<option value="9">Список</option>
				<option value="10">Текст</option>
			</select>
		</td>
	</tr>
	</tbody>
</table>
<input type="button" class="add_new_propertie" />


Вот JS-код:

$(document).ready(function() {
		$('.add_new_propertie').click(function() {
			CloneRow();
		});
	});
	function CloneRow() {
		
		var cl = $('.first-row').clone(true);
		
		$('#propertie-table tbody').append(cl);
		$(cl).removeClass('first-row');
		$(cl).find('input').val('');
		
		return cl;
	}


При нажатии на кнопку всё работает, строка добавляется, инпуты добавляются, в DOM-модели всё верно (через инспектор если смотреть),



но когда данные отправляются, то приходят следующие:

'propertie_name' => 
  array (
    6 => 'Документ',
    7 => 'q',
  ),
'propertie_code' => 
  array (
    6 => 'document',
    7 => 'a',
  ),
'propertie_type' => 
  array (
      6 => '6',
      7 => '6',
  ),

danik.js 15.06.2013 18:44

И? Приходят не все поля? А как они отправляются? Через форму или аяксом?

za-ek 15.06.2013 19:02

Как видно из изображения и исходного кода, полей 5, 1 заполненный изначально, 1 изначально пустой и 3 сгенерированных. Как видно из результирующего кода, приходят только 2 поля, те, что сгенерированы - не приходят. Данные отправляются через форму.

danik.js 15.06.2013 19:37

Изучай в инспекторе вкладку Network (Сеть). Смотри в каком виде отправляются поля, верно ли.

za-ek 15.06.2013 20:30

Не имею представления, что там изучать, там то же самое, что и в дампе $_REQUEST

danik.js 15.06.2013 20:54

Запили пример онлайн

za-ek 15.06.2013 21:04

Что?


Часовой пояс GMT +3, время: 06:58.