Добовление формы еще
Сейчас работаю над функцией добовления формы еще, тоесть например за один раз нужно создать 10 пользователей, если форм мало то админ нажимает знак + и внизу добовляется еще к примеру 10 форм.
Ниже привожу мой код. Скрипт еще недоделанный, но уже сейчас работает не так как надо. Проблема в нумерации, каждая форма имеет порядковый номер. При создании новых форм нужную нумерацию имеет только последняя форма. Конкретно при загрузке имеется 2 формы с номерами 1,2 При добовлении еще форм нумерация такая 1,2,2,4, а при добовлении еще 2х форм такая: 122226 // Добовление формы еще // Кнопка var more_form = $('.more_item'); // Колличество форм уже существующих - номера форм var n = 2; // Заносим в переменную форму для клонирования var item_form = $('.question_item:last'); var html_form = item_form.html(); // Функция при клике на кнопку добовления форм еще more_form.click(function(){ // В цикле добовляем еще 2 формы for(var i = 1; i <= 2; i++) { // Добовляем форму в конец item_form.after(html_form); // Увеличиваем номер n++; // Заносим в переменную номер последней созданной формы var num = $('.number_question:last'); // Заменяем номер формы на увеличенный num.text(n); } }); Пожалуйста подскажите в чем проблема(( |
Цитата:
Вообще было бы здорово, если бы ты показал html, до и после клонирования. По делу. ты клонируешь первые формы Вставляешь тоже после первых. А нумируешь почему-то самую последнюю, а не те которые вставил. |
// Добовление формы еще // Кнопка var more_form = $('.more_item'); // Колличество форм уже существующих - номера форм var n = 2; // То что нужно заменить в форме чтоб она отсылала нужные пост данные var regN_g = /<span class="number_question">2/g; var regN_i = /TestQuestion\[2\]/g; // Функция при клике на кнопку добовления форм еще more_form.click(function(){ // В цикле добовляем еще 2 формы for(var i = 1; i <= 2; i++) { // Заносим в переменную форму для клонирования var item_form = $('.question_item:last'); var html_form = item_form.html(); n++; // Формеруем замену namb = '<span class="number_question">' + n; form_i = 'TestQuestion[' + n + ']'; // Заменяем html_form = html_form.replace(regN_i,form_i); html_form = html_form.replace(regN_g,namb); // Добовляем форму в конец more_form.before(html_form); } }); Вот переделанный и доделанный код, тут я пошол другим путем, путем регулярных выражений типа: html_form = html_form.replace(regN_g,namb); И формы добовлял не после всех форм, а перед элементом "Добавить еще форм". Все работает, всем спасибо)) |
Часовой пояс GMT +3, время: 01:50. |