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

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

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

Author24 — интернет-сервис помощи студентам
Вот рабочий вариант скрипта который создает дубликаты полей, как ограничить количество добавляемых полей до 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2014, 15:26
Ответы с готовыми решениями:

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

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

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

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

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

Решение

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

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

Не по теме:

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

1
Максим1889
04.02.2014, 12:17  [ТС]     Клонирование полей
  #10

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2014, 12:17

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

Клонирование элемента с событиями без использования JQuery
Как клонировать элемент вместе с его событиями? Например в этом примере...

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru