Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 21.05.2018, 16:07   #11
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,367
Репутация: 5308
По умолчанию

Цитата:
Сообщение от Javany Посмотреть сообщение
Проблема в строке 57, var sel = document.getElementById('selCol');
В песочнице рабочий вариант, но элемент я забрал по Id, после клонирования я получаю много элементов с одинаковым Id, вместо Id нужно забрать по имени тега или по классу, а у меня не получается.
Вы знаете, я, наверное, не смогу Вам помочь.
Честно, я пытался, но понять Вас - выше моих сил.

во-первых, про то, что клонировать элементы с сохранением ID нельзя, Вы знаете, но, тем не менее, в вашем примере именно так и сделано.

во-вторых, код в строке 57 - это функция/обработчик события нажатия (Click) на кнопку "button", в этой функции происходит клонирование элемента. И более ничего. Вам нужно, чтобы можно было клонировать элемент без ID ?
По классу ?
В этом и есть ваша проблема?!

если в этом проблема, тогда попробуйте код (в песочнице он же - ТЫЦ):
Код:

.....
<h1>Цветныe блоки</h1>
<FORM name="form1" >

<select class ="selCol"  name="color[]">
	<option value="red">красный</option>
	<option value="green">зеленый</option>
	<option value="blue">синий</option>
	<option value="blue">желтый</option>
	<option value="blue">фиолетовый</option>
</select>

<br>

<input id="button" type="button" name="clone" value="добавить блок">

<br>

<input type="radio" name="location" checked="" value="float: left"> строка

<input type="radio" name="location" checked="" value=" "> столбец

<br>

<input type="submit" name="select" value="отправить запрос 2">

</form>

<script>
	var but = document.getElementById('button');
	but.addEventListener('click',function(){
		var nodes = document.querySelectorAll('.selCol');
		if (nodes && (nodes.length>0)) {
			var first = nodes[0]; // первый блок с нужным классом
			var clone = first.cloneNode(true);
			first.parentNode.insertBefore(clone, first.nextSibling);
		}
	});	

</script>
</body>
</html>


Последний раз редактировалось Serge_Bliznykov; 21.05.2018 в 16:23.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 21.05.2018, 16:27   #12
Javany
Форумчанин
 
Регистрация: 15.05.2018
Сообщений: 75
Репутация: 129
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
во-первых, про то, что клонировать элементы с сохранением ID нельзя, Вы знаете, но, тем не менее, в вашем примере именно так и сделано.
Да, проблема в том что я написал не подумав о последствиях. Я создал <select> с id, забрал в переменную, повесил клик, клонировал элемент. У меня возник вопрос по php, я обратился на форум, и помимо помощи, с php мне Stanislav указал на мою ошибку с id, огромное спасибо ему за это, и когда я решил поменять id на class, я не смог этого сделать. Хотел понять почему.
Javany вне форума   Ответить с цитированием
Старый 21.05.2018, 16:34   #13
Javany
Форумчанин
 
Регистрация: 15.05.2018
Сообщений: 75
Репутация: 129
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
s
Спасибо, пойду разбираться.
Javany вне форума   Ответить с цитированием
Старый 21.05.2018, 17:44   #14
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,804
Репутация: 532
По умолчанию

Цитата:
я обратился на форум, и помимо помощи, с php мне Stanislav указал на мою ошибку с id, огромное спасибо ему за это
Обращайтесь.
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 23.05.2018, 12:04   #15
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 145
Репутация: 193
По умолчанию

Javany,

чтобы код легче читался/писался, я использую вот такие сокращения для манипуляций с DOM:
Код:

function gid(i) {return document.getElementById(i);}
function CEL(s) {return document.createElement(s);}
function ACH(p,c) {p.appendChild(c);}
function QS(el,s) {return el.querySelector(s);}
function QSA(el,s) {return el.querySelectorAll(s);}

Вашу задачу можно решить так:
http://plnkr.co/edit/OpiVVsW8Ow8kIVpZ1GGa?p=preview
SQLPowerUser вне форума   Ответить с цитированием
Старый 23.05.2018, 12:07   #16
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,804
Репутация: 532
По умолчанию

Сокращения конечно, гуд, но когда пишешь ручками каждый раз запоминаешь быстрее. и второе современные IDE подсказки выкидывают
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 23.05.2018, 12:23   #17
Javany
Форумчанин
 
Регистрация: 15.05.2018
Сообщений: 75
Репутация: 129
По умолчанию

Цитата:
Сообщение от SQLPowerUser Посмотреть сообщение
Вашу задачу можно решить так:
Спасибо, тоже учту.
__________________
Не задавай вопрос, если не знаешь что делать с ответом...
Javany вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JSP + HQL: как в блоке <select></select> вызвать метод из DAO? Blondy Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 4 01.06.2013 15:54
В зависимости от выбора в Select изменить значения другого Select Tayfun HTML и CSS 3 18.08.2011 00:05
Select t1.N,t1.FIO,(select t2.acc from t2 where t2.type=1) from t1,t2 mavlon_m SQL, базы данных 2 17.09.2009 15:28
Забрать файлы по сети Darth Работа с сетью в Delphi 7 29.06.2008 23:04
Передача значения в <select></select> kkkggg Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 06.09.2007 00:26


21:35.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru