С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835

Клонирование полей

03.02.2014, 15:26. Показов 1952. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот рабочий вариант скрипта который создает дубликаты полей, как ограничить количество добавляемых полей до 10, чтобы больше 10 добавить нельзя было.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<html>
<head>
<title>Ajax Image Upload </title>
<script>
function droptr(btn){ 
        if(document.getElementById) { 
                tr = btn; 
                while (tr.tagName != 'TR') tr = tr.parentNode; 
                tr.parentNode.removeChild(tr); 
                checkForLast(); 
        } 
} 
function addtr(btn){ 
        if(document.getElementById) { 
                tr = btn; 
                while (tr.tagName != 'TR') tr = tr.parentNode; 
                var idSuffix = Math.round(Math.random()*1000); 
                var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling); 
                thisChilds = newTr.getElementsByTagName('td'); 
 
                checkForLast(); 
        } 
} 
function checkForLast(){ 
        btns = document.getElementsByName('drop'); 
        for (i = 0; i < btns.length; i++){ 
                btns[i].disabled = (btns.length == 1) ? true : false; 
        } 
} 
</script> 
<table> 
<tr> 
<td><input type="file" name="firstname[]"></td> 
 
<td> 
<INPUT onclick=droptr(this); type=button  disabled=true value="-" name=drop> <INPUT onclick=addtr(this); type=button value="+"> 
</td> 
</tr> 
</script>
 
 
</head>
 
<body>
 
 
 
</body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.02.2014, 15:26
Ответы с готовыми решениями:

Клонирование блоков
Всем привет, есть ли такое в js или jq - клонирование блоков Например я на сайте расположил блок в один пиксель ширины и в 100% высоты...

Глубокое клонирование объектов не работает
Всем привет. Я на этапе обучения, дошел вот до темы с объектами, увидел пример с клонированием, и решил написать небольшой код, который бы...

Глубокое клонирование объекта без promise и async
Как создать клона этого объекта без promise и async? Чтобы редактирование array не влияло на копию let array = ...

9
47 / 47 / 12
Регистрация: 25.11.2013
Сообщений: 117
03.02.2014, 17:13
добавить переменную счётчик, которая будет инкрементироваться при каждом добавлении поля, если значение переменной будет 10, то добавление новых полей будет невозможно
0
 Аватар для koza4ok
632 / 440 / 67
Регистрация: 19.09.2012
Сообщений: 1,632
03.02.2014, 18:24
В чем смысл проверки ?
JavaScript
1
 if(document.getElementById)
Она не имеет смысла для актуальных браузеров .
0
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835
03.02.2014, 18:43  [ТС]
Напишите код что куда добавить? Или дайте аналог jquery?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.02.2014, 02:50
Лучший ответ Сообщение было отмечено Максим1889 как решение

Решение

в конце строки #27 замените ; на ,
и добавьте после неё ещё одну строку -- btns[i].nextSibling.nextSibling.disabled = (btns.length == 10) ? true : false;
1
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835
04.02.2014, 10:41  [ТС]
а как сделать чтобы сообщение выводилось. достигнуто максимальное количество полей?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.02.2014, 10:45
Цитата Сообщение от Максим1889 Посмотреть сообщение
а как сделать чтобы сообщение выводилось. достигнуто максимальное количество полей?
а зачем?
пользователь и так увидит, что ни одна кнопка "+" ему не доступна

или полагаете всех пользователей убого-тупыми?
тогда держите:
после строки #28 напишите
JavaScript
1
if (btns.length == 10) alert ('Алё, тупой, ну хватит уже!');
1
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835
04.02.2014, 10:51  [ТС]
я вот сделал так но оно выводиться постоянно, как сделать только раз чтобы
JavaScript
1
2
if (btns.length == 10)
                {alert('gdfgdf');}
Добавлено через 2 минуты
все понял после скобки надо
0
04.02.2014, 11:22

Не по теме:

что делает? выводится
что будет делать? выводиться

1
04.02.2014, 12:17  [ТС]

Не по теме:

Это я вас проверял на знание:)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2014, 12:17
Помогаю со студенческими работами здесь

Клонирование объекта и помещение его на страницу с сохранением координат
Здравствуйте, кто нибудь будьте добры помогите решить следующую задачу: как обычную картинку определённого размера, помещать в любое место...

Клонирование объектов INPUT type="file"
Всем привет! Каким способом можно скопировать дочерний элемент формы INPUT с типом поля FILE(из одной формы в другую), после того, как...

Клонирование элемента с событиями без использования JQuery
Как клонировать элемент вместе с его событиями? Например в этом примере https://jsfiddle.net/mx74j85d/2/ при нажатии на круг он...

Клонирование узла
Для клонирования ссылки использую конструкцию: var oNameClone = oName.cloneNode(true); ...

Проблемы с .getAttribute. Клонирование из Template
Я из шаблонизатора &lt;template&gt; склонировала в один контейнер элемент (шаблон). Передо мной стоит задача: в один из внутренних элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 05.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru