Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2010, 09:10
Новичок на форуме
Отправить личное сообщение для tselofun Посмотреть профиль Найти все сообщения от tselofun
 
Регистрация: 19.01.2010
Сообщений: 3

не отправляются данные из формы
Добрый день.

У меня в форме новые инпуты добавляются с помощью js, но при сабмите значения этих инпутов не отпарвляются, только 1-го который изначально видно на странице, то есть $_POST содержит artist[0]=TEST, а artist[1] итд нету. Подскажите как решить?

Код:
<?php
print_r($_POST);
?>
<script type="text/javascript">
function addArtist(){
	if (aX==0){
	Element.toggle('RemoveMainArtistButton');
	}
	new Insertion.Bottom('A'+aX, '<input type="text" name="suffix['+aX+']" size="10" value="'+aX+'" />');
	aX++;
	html = '<div id="A'+aX+'"><input type="text" name="artist['+aX+']" size="25" value="'+aX+'" /> ';
	html = html + ' </div>';
	new Insertion.After('A'+(aX-1), html);
	$('A'+aX).childNodes[0].focus();
}

function removeArtist(){
	new Element.remove('A'+aX);
	aX--;
	el=$('A'+aX);
	new Element.remove(el.lastChild);
	if (aX==0){
	Element.toggle('RemoveMainArtistButton');
	}
}
</script>
<form action="" method="post">
	<div id="artists" style="width:100%;">
		<div id="ArtistsLabel" style="display: none"><small>Name / Join</small></div>
		<div id="A0">
			<input type="text" name="artist[0]" size="25" value="TEST" />
		</div>
	</div>
	<script language="javascript">aX = 0;</script>
	<input type="button" value="+" onClick="addArtist();" />
	<input type="button" id="RemoveMainArtistButton" value="x" onClick="removeArtist();" style="display:none" />
</form>

Последний раз редактировалось tselofun, 19.01.2010 в 09:16.
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2010, 10:06
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от tselofun Посмотреть сообщение
У меня в форме новые инпуты добавляются
Если бы это было правдой, то у Вас не было бы той проблемы, которую Вы описываете.

Последний раз редактировалось Gozar, 19.01.2010 в 10:12.
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2010, 10:30
Новичок на форуме
Отправить личное сообщение для tselofun Посмотреть профиль Найти все сообщения от tselofun
 
Регистрация: 19.01.2010
Сообщений: 3

Gozar, спасибо.

Но я после добавлении инпутов сохранял страницу и сомтрел код и там вроде они внутри:
<div id="artists" style="width: 100%;">
		<div id="ArtistsLabel" style="display: none;"><small>Name / Join</small></div>
		<div id="A0">
			<input name="artist[0]" size="25" type="text">
		<input name="suffix[0]" size="10" value="0" type="text"></div>

		<div id="A1">
			<input name="artist[1]" size="25" value="1" type="text">  <input name="suffix[1]" size="10" value="1" type="text">
		</div>

		<div id="A2">
			<input name="artist[2]" size="25" value="2" type="text">  <input name="suffix[2]" size="10" value="2" type="text">
		</div>

	</div>


Или где-то не там смотрю? Подскажите пожалуйста как исправить или где почитать про похожие способы вставки.
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2010, 11:01
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

если Вы сможете обратиться к вставленным элементам способом:
form.artist[1].value
//где form ваша форма
, тогда и скажете что вы добавляете элементы к форме
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2010, 12:22
Новичок на форуме
Отправить личное сообщение для tselofun Посмотреть профиль Найти все сообщения от tselofun
 
Регистрация: 19.01.2010
Сообщений: 3

С тем кодом так и не разобрался, но зато написал свой

<php
print_r($_POST);
?>
<form action="" id="add_release" method="post">
	<div id="artists">
		<input type="text" name="artist[0]" value="" />
	</div>
	<br />
	<input id="addb" type="button" value="+" onClick="addArtist();" />
	<input id="delb" type="button" value="x" onClick="removeArtist();" style="visibility:hidden" />
	<br />
	<input type="submit" value="Submit" />
</form>

<script>
num=0

function addArtist(){
	var parent = document.getElementById('artists')
	var child = document.createElement('span')
	child.id = 'a' + num
	child.innerHTML = '<input type="text" name="suffix[' + num + ']" value="" /><br /><input type="text" name="artist[' + ++num + ']" value="" />'
	parent.appendChild(child)
	document.getElementById('delb').style.visibility = "visible"
}

function removeArtist(){
	var childId = 'a' + (num-1)
	var parent = document.getElementById('artists')
	var child = document.getElementById(childId)
	parent.removeChild(child)
	num = num-1
	if(num == 0){
		document.getElementById('delb').style.visibility = "hidden"
	}
}
</script>


Оказывается все эти часы мучений из-за <table><form> вместо <form><table> O_O

Последний раз редактировалось tselofun, 19.01.2010 в 13:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контекстное меню как считать данные из таблицы xela1980 jQuery 25 31.05.2013 13:20
load + php подгрузка формы Karandash jQuery 4 01.12.2009 12:04
Собрать значения всех полей формы vvsh Events/DOM/Window 3 08.11.2009 23:35
Отправка текущих переменных формы в ссылке user1980 Общие вопросы Javascript 2 26.10.2009 16:28
Помогите написать скрипт валидации формы RayOfLight Общие вопросы Javascript 2 27.07.2009 10:58