Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прерывание цикла функции JS, помогите его прервать...  
:(
    Опции темы
Psytodelist
Дата 2.5.2010, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 5.3.2010

Репутация: нет
Всего: нет



Есть функция, которая копирует 
див в другой див. Копирует функция форму.

Мне нужно поставить лимит на количество
новых форм, которые появляются при нажатии на
кнопку:

Код

<a href="javascript:addUploadBoxes('place','filetemplate',1)" title="Не перезагружает страницу">+ Добавить еще поля для загрузки файлов</a><br>



которая вызывает функцию

Код

<script type="text/javascript">

function addUploadBoxes(placeholderid, copyfromid, num) {
  var placeholder = document.getElementById(placeholderid);
  var copyfrom = document.getElementById(copyfromid);
  for (i=0; i<num; i++) {

    if (window.totalinputs >= 50) return;
    var newdiv = document.createElement('div');
    newdiv.innerHTML = copyfrom.innerHTML;
    newdiv.className = copyfrom.className;
    placeholder.parentNode.insertBefore(newdiv, placeholder);
    window.totalinputs++; 
  }
}
</script>


Пример: http://www.expressphoto.com.ua/?mod=upload&lang=rus

Лимит, к примеру, должен быть на 10 фоток.
 smile  smile 
PM MAIL   Вверх
Amphiluke
Дата 2.5.2010, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



А в чем, собственно, вопрос-то? smile
Скрипт не выполняет должным образом возложенную на него задачу? Если да, то где вы инициализируете самопальный атрибут totalinputs объекта window? Вижу сразу его использование: условие с ним и инкремент, а инициализацию — нет. Где-то вне всех функций долна быть строчка типа такой:
Код

window.totalinputs = 1;


Это сообщение отредактировал(а) Amphiluke - 2.5.2010, 19:57
PM   Вверх
Psytodelist
Дата 2.5.2010, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 5.3.2010

Репутация: нет
Всего: нет



А где именно? Можете подсказать?
А-то я уже и перед и после функции поставил
- и ничего не вышло. Большое спасибо за отклик.
Надеюсь, что поможете.

Добавлено через 6 минут и 14 секунд
Можете мне отредактировать скрипт так, 
чтобы был лимит на 10 копирований форм?
Я уже по всякому пробовал. Ваш вариант?
PM MAIL   Вверх
Amphiluke
Дата 2.5.2010, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



smile 
Может, я что-то делаю неправильно  smile , но той строчки, что я привел во втором посте оказалось достаточно, чтобы ограничение заработало... Причем во всех браузерах. Вставил эту строчку прямо перед объявлением функции addUploadBoxes. Больше ничего не менял. Ну, кроме замены 50 на 10, конечно. 
Хз, почему у вас не сработало.

Добавлено через 13 минут и 10 секунд
P.S. Кстати, скрипт можно слегка модифицировать.
Код

<script type="text/javascript">
window.totalinputs = 1;
function addUploadBoxes(placeholderid, copyfromid, num) {
  var placeholder = document.getElementById(placeholderid);
  var copyfrom = document.getElementById(copyfromid);
  for (i=0; i<num; i++) {
    if (window.totalinputs >= 10) return;
    var newdiv = copyfrom.cloneNode(true);
    newdiv.id += (++window.totalinputs).toString();
    placeholder.parentNode.insertBefore(newdiv, placeholder);
  }
}
</script>

PM   Вверх
Psytodelist
Дата 2.5.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 5.3.2010

Репутация: нет
Всего: нет



Благодарю, о добрейший!
PM MAIL   Вверх
IgorIV
Дата 12.5.2010, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0560 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.