Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Динамические данные в popup (https://javascript.ru/forum/events/59103-dinamicheskie-dannye-v-popup.html)

boomber 28.10.2015 10:15

Динамические данные в popup
 
Здравствуйте.
Помогите пожалуйста с передачей переменной при создании popup окна.

Есть javascript:
<script type="text/javascript">
  function openbox(id,prf) {
	var div = document.getElementById(id);
	var prf_div = document.getElementById(prf);
	if(div.style.display == 'block') {
		div.style.display = 'none';
	}
	else {
		div.style.display = 'block';
	}
  }
</script>

есть DIV:
<div id="Wrapp" style="display:none">
<div id='prf'><div class="close" onclick="openbox('Wrapp')">x</div>

<?php...?>

  </div>

Внутри php происходит запрос и вывод данных по соответствующему id. id генерится в другом php, в котором делаю ссылку:
<a href="#" onclick="openbox('Wrapp');return false;" >Открыть</a>

Как мне внутри этой ссылки передать id в скрипт внутри дива popup?

boomber 28.10.2015 10:30

Блин, создал тему и понял, что работать так и не должно. Ведь DIV создается в момент загрузки страницы и его контент не обрабатывается потом, когда я жму ссылку, а лишь выводит в popup то, что внутри него. В какую сторону копать в плане создания popup с динамической обработкой данных в нем?

ksa 28.10.2015 13:26

Цитата:

Сообщение от boomber
В какую сторону копать в плане создания popup с динамической обработкой данных в нем?

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

Тестового примера так же нет... :no:

boomber 28.10.2015 13:32

Цитата:

Сообщение от ksa (Сообщение 393377)
Пока не совсем понятно, что у тебя есть и что ты с этим собираешься делать...

Тестового примера так же нет... :no:

Есть страница - php. где из БД выводится список элементов. Хочу сделать, чтобы при нажатии на каждый элемент, появлялось popup окно с подробным описанием элемента.
Тестовый пример... я как бы не совсем понимаю, что мне выложить. Рабочий php код? ))

ksa 28.10.2015 13:38

Цитата:

Сообщение от boomber
Тестовый пример... я как бы не совсем понимаю, что мне выложить. Рабочий php код?

ПХП имеет смысл выкладывать в разделе серверных технологий...

А тут хтмл+JS.

Цитата:

Сообщение от boomber
Есть страница - php. где из БД выводится список элементов. Хочу сделать, чтобы при нажатии на каждый элемент, появлялось popup окно с подробным описанием элемента.

Вроде стандартная задачка...
Если тех подробностей нет на странице - их можно запросить у сервера, потом обработать ответ.
Вроде так же стандартная задачка...

boomber 28.10.2015 13:45

Цитата:

Сообщение от ksa (Сообщение 393381)
Если тех подробностей нет на странице - их можно запросить у сервера, потом обработать ответ.
Вроде так же стандартная задачка...

Вот я не могу понять, где мне запросить данные?

То есть, есть второй php-скрипт, который берет из БД данные по id элементов и все это выводится на новую вкладку броузера. А как это сложить в popup-окно не знаю. Не понимаю, в какую сторону искать.

ksa 28.10.2015 14:10

Цитата:

Сообщение от boomber
Вот я не могу понять, где мне запросить данные?

Про ajax-запросы слышал?
Вот таким запросом можно получить нужные данные от сервера... Потом в обработчике разместить те данные в том popup-окне...

boomber 28.10.2015 14:15

Цитата:

Сообщение от ksa (Сообщение 393399)
Про ajax-запросы слышал?
Вот таким запросом можно получить нужные данные от сервера... Потом в обработчике разместить те данные в том popup-окне...

Слышал, но не работал с ними. Поизучаю.
Просто на пальцах, мне казалось, что ajax это что-то навороченное. А мне, по сути, надо передать несколько данных из php в обработчик.

ksa 28.10.2015 14:28

Цитата:

Сообщение от boomber
мне казалось, что ajax это что-то навороченное

Не так страшен Бонч как его Бруневич... (с) :D

Если будешь использовать jQuery - так там вообще целый арсенал методов для такой работы. ;)

ksa 28.10.2015 14:31

Цитата:

Сообщение от boomber
А мне, по сути, надо передать несколько данных из php в обработчик.

Как вариант сразу передать те данные при формировании страницы... Т.о. эти данные можно сразу показывать, без всяких там запросов...

boomber 28.10.2015 14:37

Цитата:

Сообщение от ksa (Сообщение 393403)
Не так страшен Бонч как его Бруневич... (с) :D

Если будешь использовать jQuery - так там вообще целый арсенал методов для такой работы. ;)

ajax и jquery не пользовался, надо изучать. Сейчас читаю про ajax, пока не очевидно для меня.

Цитата:

Сообщение от ksa (Сообщение 393404)
Как вариант сразу передать те данные при формировании страницы... Т.о. эти данные можно сразу показывать, без всяких там запросов...

Слишком много данных будет на странице, включая большеразмерные фотки. Весить будет, как чугунный мост. Или я неправильно понял мысль?

ksa 28.10.2015 14:41

Цитата:

Сообщение от boomber
читаю про ajax, пока не очевидно для меня
...
Слишком много данных будет на странице, включая большеразмерные фотки.

Экий ты привереда... :D

Писал бы ты на csp... Мог бы воспользоваться гипперэвентами.

Ранее, для получения данных без перезагрузки страницы использовали скрытые фреймы...
Но лучше таки почитать про ajax. :)

boomber 28.10.2015 14:46

Цитата:

Сообщение от ksa (Сообщение 393408)
Экий ты привереда... :D

Писал бы ты на csp... Мог бы воспользоваться гипперэвентами.

Ранее, для получения данных без перезагрузки страницы использовали скрытые фреймы...
Но лучше таки почитать про ajax. :)

Если бы я "писал" )))), а то так, решаю задачи по мере поступления на небольшом сайте. пхп худо-бедно знаю, в той части, что мне требуется. А с js не знаком вообще.

Я так понимаю, что с помощью ajax я могу отправить запрос с критериями (в моем случае с id) своему второму скрипту для запроса всех данных? Оттуда в js вернутся данные?

ksa 28.10.2015 15:16

Цитата:

Сообщение от boomber
с помощью ajax я могу отправить запрос с критериями (в моем случае с id) своему второму скрипту для запроса всех данных? Оттуда в js вернутся данные?

Именно так. :yes:
Причем в нужном тебе формате. ;)

boomber 28.10.2015 15:19

Цитата:

Сообщение от ksa (Сообщение 393421)
Именно так. :yes:
Причем в нужном тебе формате. ;)

А как передать ajax-у id, для которого выполнять запрос?

ksa 28.10.2015 15:21

Цитата:

Сообщение от boomber
А как передать ajax-у id, для которого выполнять запрос?

Так там же УРЛ формируется, куда будет передача - в том УРЛе все и передается... Хош гетом, хош постом... ;)
Т.е. это как форму отправить. Серверный скрипт даже разницы не заметит... :)

boomber 28.10.2015 15:26

Цитата:

Сообщение от ksa (Сообщение 393426)
Так там же УРЛ формируется, куда будет передача - в том УРЛе все и передается... Хош гетом, хош постом... ;)
Т.е. это как форму отправить. Серверный скрипт даже разницы не заметит... :)

Так, если я в УРЛе могу передать переменную (id), то почему бы внутри javascript в DIV-е, который будет выводиться в popup-окно, не выполнить php-код? Ну или не заинклюдить?

ksa 28.10.2015 15:34

boomber, я х/з чего можно делать у вас в ПХП... Я с ним не работаю.

Но что-то мне подсказывает - ты просто так сформируешь "другую" страницу. Но никакой "динамической подгрузки" не получишь... :no:

boomber 28.10.2015 15:37

Цитата:

Сообщение от ksa (Сообщение 393432)
boomber, я х/з чего можно делать у вас в ПХП... Я с ним не работаю.

Но что-то мне подсказывает - ты просто так сформируешь "другую" страницу. Но никакой "динамической подгрузки" не получишь... :no:

Ну да, согласен. js выполняется на стороне клиента. В нем запрос к БД не выполнится, насколько я понимаю.
Блин, вроде бы обычная задача - отобразить в popup дополнительные данные. Но, как я понимаю, либо грузить их в невидимые блоки сразу все и отображать по клику.
Либо учить синтаксис ajax-а и пытаться сделать, как мне хочется )))

ksa 28.10.2015 15:51

Цитата:

Сообщение от boomber
либо грузить их в невидимые блоки сразу все и отображать по клику.
Либо учить синтаксис ajax-а и пытаться сделать, как мне хочется

Угу... :yes:

boomber 28.10.2015 15:55

Цитата:

Сообщение от ksa (Сообщение 393439)
Угу... :yes:

Эх, ну ладно, спасибо за направление ))


Часовой пояс GMT +3, время: 09:55.