Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 18
1

Как исправить код?

07.06.2017, 18:03. Показов 554. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дорогие друзья,
Помогите решить "задачу". Есть форма, ее код выкладывать не будут, она "обычная", состоит из 7 полей. Есть обработчик, он ниже. Обработчик добавляет динамический раздел. Был один турист, нажали кнопку, появился второй турист. Нажали кнопку еще раз появился еще турист и т.д. В чем проблема опишу ниже.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Добавление туристов в форме myform-2 (групповые экскурсии).
jQuery(document).ready(function(){  
 
        jQuery("#form_status_added").click(function () {            
jQuery("<fieldset><legend class='legend123'>Второй турист</legend><div class='wrapper_forms'><div class='table_forms'><div class='row_forms'><div class='col_forms c25_forms'>Фамилия: <strong><span style='color: #ff0000;'>*</span></strong><input class='input126' name='prezime_osnivac2' type='text' placeholder='Ivanov' /></div><div class='col_forms c25_forms'>Имя: <strong><span style='color: #ff0000;'>*</span></strong><input class='input126' name='ime_osnivac2' type='text' placeholder='Ivan' /></div></div></div></div>" ).insertBefore("#form_status_added");
jQuery("<div class='wrapper_forms'><div class='table_forms'><div class='row_forms'><div class='col_forms c25_forms'>Ваше гражданство: <strong><span style='color: #ff0000;'>*</span></strong>:<select class='select2' name='derjavlanstvo_osnivac2'><option disabled='disabled' selected='selected'></option><option value='Rusije'>Россия</option><option value='Ukrajine'>Украина</option><option value='Bjelarusije'>Белоруссия</option><option value='Kazakhstana'>Казахстан</option><option value='Hrvatske'>Хорватия</option><option value='Crne Gore'>Черногория</option><option value='Srbije'>Сербия</option><option value='Bosne i Hercegovine'>Босния и Герцеговина</option><option value='Azerbejzana'>Азербайджан</option><option value='Albanije'>Албания</option><option value='Andore'>Андора</option><option value='Argentine'>Аргентина</option><option value='Australije'>Австралия</option><option value='Austrije'>Австрия</option><option value='Bangladesa'>Бангладеш</option><option value='Belgije'>Бельгия</option><option value='Brazila'>Бразилия</option><option value='Bugarske'>Болгария</option><option value='Gruzije'>Грузия</option><option value='Grcke'>Греция</option><option value='Danske'>Дания</option><option value='Egipta'>Египет</option><option value='Estonije'>Эстония</option><option value='Izraela'>Израиль</option><option value='Indije'>Индия</option><option value='Iraka'>Ирак</option><option value='Irana'>Иран</option><option value='Italije'>Италия</option><option value='Kanade'>Канада</option><option value='Kine'>Китай</option><option value='Kirgizije'>Киргизия</option><option value='Makedonije'>Македония</option><option value='Moldavije'>Молдавия</option><option value='Nemacke'>Германия</option><option value='Norveske'>Норвегия</option><option value='Ruminije'>Румыния</option><option value='Sirije'>Сирия</option><option value='Slovacke'>Словакия</option><option value='Slovenije'>Словения</option><option value='Turkmenije'>Туркмения</option><option value='Turske'>Турция</option><option value='Uzbekistana'>Узбекистан</option><option value='Ujedinjenog Kraljevstva'>Великобритания</option><option value='Finske'>Финляндия</option><option value='Francuzke'>Франция</option></select></div><div class='col_forms c25_forms'>Номер заграничного паспорта: <strong><span style='color: #ff0000;'>*</span></strong><input class='input126' name='broj_pasosa_osnivac2' type='text' placeholder='58 0311760' /></div></div></div></div>" ).insertBefore("#form_status_added");
jQuery("<div class='wrapper_forms'><div class='table_forms'><div class='row_forms'><div class='col_forms c25_forms'>Кто выдал заграничный паспорт: <strong><span style='color: #ff0000;'>*</span></strong><input class='input126' name='fms_pasos_osnivac2' type='text' placeholder='FMS 3001' /></div><div class='col_forms c25_forms'>Номер телефона:<strong><span style='color: #ff0000;'>*</span></strong><input class='input126' name='dolja_firma2' type='text' placeholder='069287855' /></div></div></div></div>" ).insertBefore("#form_status_added");
jQuery("<div class='wrapper_forms'><div class='table_forms'><div class='row_forms'><div class='col_forms c25_forms'>Емаил: <strong><span style='color: #ff0000;'>*</span></strong><input class='input125' name='dolja_evro2' type='text' placeholder='inter@gmail.com' /></div></div></div></div></fieldset>" ).insertBefore("#form_status_added");
 
//Удаляем родительский элемент (удаляет DIV, который обвалакивает кнопку "Добавить туриста")
jQuery("input.2osnivaca").unwrap();
 
//Замена элемента (Заменяем кнопку "Добавить туриста" + окружаем ее DIV, взамен удаленного)
jQuery("input.2osnivaca").replaceWith("<div class='div2osnivaca'><input class='2osnivaca' type='button' value='Добавить третьего туриста' id='form_status_added'></div>");
Проблема заключается в следующем:
При нажатии кнопки - появляется второй турист. Больше кнопка не нажимается, т.е. можно к 1 туристу добавить еще одного и все. Больше нельзя. Опытным путем было установленно, что проблема вот в этой строчке (в ней мы заменяем кнопку при клике по которой и происходит динамическое добавление содержимого):
PHP
1
2
//Замена элемента
jQuery("input.2osnivaca").replaceWith("<div class='div2osnivaca'><input class='2osnivaca' type='button' value='Добавить третьего туриста' id='form_status_added'></div>");
Если ее закомментировать, то можно добавлять туристов сколько угодно, хоть 200 штук. Я так понял, это из за того, что мы ждем загрузку документа (jQuery(document).ready(function(){ ). Дождались загрузку, и, далее документ не понимает, что мы заменили кнопку при клике по которой должны добавляться новые туристы. А мне ее заменить надо, так как без этого возникают другие проблемы, которые я тоже не знаю как решить.
Как можно поправить код?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2017, 18:03
Ответы с готовыми решениями:

Как исправить код
&lt;?php $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // Здесь мы перечисляем...

Как вставить div в PHP код (в echo) - исправить код
Народ как вставить div в php код точнее в echo В этот код:&lt;?php //отсеивание $dir = &quot;MP3...

Не понимаю как исправить код
Есть код который покадывает картинку. Все работает. //include 'init.php'; $filename...

Рабочий код парсера (не принимает сайт vk.com) как исправить?
сайт в действии: http://jobim.esy.es/index.php &lt;?php Error_Reporting(E_ALL &amp; ~E_NOTICE);...

1
56 / 54 / 33
Регистрация: 05.11.2014
Сообщений: 259
08.06.2017, 08:20 2
Когда ты заменяешь контент, на новую кнопку нужно повторно вешать обработчик события, потому что он не сохраняется.
Лучше вообще пересмотри свой алгоритм, чтобы не нужно было совершать таких действий
0
08.06.2017, 08:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2017, 08:20
Помогаю со студенческими работами здесь

Нужно исправить код. Комментарии добавляются в guestbook.txt, а сам код находится в guestbook.php
Написал такой код для комментирования страницы. Однако 1 коммент отправляется пустым, вместо 2-ого...

Исправить код
здравствуйте работаю в джумле на локалхосте. у меня на сайте есть форма выбора, в которой мне...

Нужно исправить код
Перестала работать вторая кнопка, и при выводе в окне появилось слово &quot;undefined&quot; , помогите...

Помогите исправить JS код!
Помогите сделать так чтобы файл открывался не в новом окне а в этом же! вод код: &lt;SCRIPT...


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

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