Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Теряет параметр динамически созданное поле (https://javascript.ru/forum/misc/26945-teryaet-parametr-dinamicheski-sozdannoe-pole.html)

werwolf2006 28.03.2012 18:42

Теряет параметр динамически созданное поле
 
Теряет параметр при передаче
Что имеем на входе:
есть список селектов, каждый селект реагирует на "onChange".
После срабатывания скрипта
function onChange(_this)
{
   var pointofdel = _this.value;
   switch (pointofdel) 
   {
	case '21': 
	document.getElementById("pointofdeliveryl-<?php echo $dataItem->id; ?>").style.display="block";
	document.getElementById("pointofdeliveryl-<?php echo $dataItem->id; ?>").innerHTML="<div>Адрес раздачи<?php echo weborder::deliveryaddresseshands($dataItem->pointofdelivery);?></div>";
							break

формируется еще один список селектов в поле с id="pointofdeliveryl

<div id="pointofdeliveryl-<?php echo $dataItem->id; ?>" style="display:none;">
					
				</div>

Собственно вопрос при передаче теряется параметр из второго списка.
Как победить пока не понял.

vasa_c 28.03.2012 19:23

понятно ничего.

приведите минимальный рабочий JS-код иллюстрирующий проблему и очищенный от php.

Rootpassword 28.03.2012 19:30

Телепат mode ON
скорее всего, ваш свежесозданный селект не есть часть формы, которую вы потом передаете. Посмотрите в DOM инспекторе любом.
Телепат mode OFF

werwolf2006 28.03.2012 19:43

Cори что так сумбурно
 
Вот весь js.
Остальной php как раз и не переедает переменных.
<script type="text/javascript">
function onChange(_this){
  var pointofdel = _this.value;
  switch (pointofdel) 
  {
	case '21': 
	document.getElementById("pointofdeliveryl").style.display="block";
	document.getElementById("pointofdeliveryl").innerHTML="<div>Адрес раздачи<?php echo weborder::deliveryaddresseshands($dataItem->pointofdelivery);?></div>";
	break

	case '1':
	document.getElementById("pointofdeliveryl").style.display="block"; 
	document.getElementById("pointofdeliveryl").innerHTML="<b>Типа адрес склада.</b>";
	break

	case '20':
	document.getElementById("pointofdeliveryl").style.display="block"; 
	document.getElementById("pointofdeliveryl").innerHTML='<div><input class="text_area" type="text" name="pointofdelivery" id="pointofdelivery" size="32" maxlength="255" value="<?php echo htmlspecialchars($dataItem->pointofdelivery, ENT_COMPAT, 'UTF-8');?>"/></div>';
	break

	case '0':
	break
	default:
	document.getElementById("pointofdeliveryl").style.display="block"; 
	document.getElementById("pointofdeliveryl").innerHTML='<div><input class="text_area" type="text" name="pointofdelivery" id="pointofdelivery" size="32" maxlength="255" value="<?php echo htmlspecialchars($dataItem->pointofdelivery, ENT_COMPAT, `UTF-8`);?>"/></div>';
	break
	};		
};
</script>

werwolf2006 28.03.2012 19:43

Попробую посмотреть.

werwolf2006 28.03.2012 20:18

Посмотрел находится в этой форме
 
Цитата:

Сообщение от Rootpassword (Сообщение 165416)
скорее всего, ваш свежесозданный селект не есть часть формы, которую вы потом передаете. Посмотрите в DOM инспекторе любом.

Посмотрел находится в этой форме.
Может еще какая доп информация поможет.

werwolf2006 28.03.2012 23:20

Параметр все же был вне формы.
 
Цитата:

Сообщение от werwolf2006 (Сообщение 165424)
Посмотрел находится в этой форме.
Может еще какая доп информация поможет.

Всем спасибо разобрался. Параметр все же был вне формы.
Не досмотрел сразу что форма открывалась и сразу закрывалась.
А все потому что форма была внутри таблицы.
Тему можно закрывать.


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