2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
|
1 | |
Нужно что-то типа "всплывающего окна" в админке04.10.2012, 18:36. Показов 933. Ответов 13
Метки нет (Все метки)
Подскажите пожалуйста, как лучше сделать. В настоящий момент в админке есть такая фишка. Кликнув по ссылке открывается отдельное окно через window.open (js). Но вот закрыть через js не получается. Но это еще полбеды. Вот если свернуть его, то потом кликая по ссылке, немного теряешься, поскольку окно открыто, но свернуто, поэтому не видно. (в коде у меня загрузка в то же окно).
Какой еще может быть вариант "плавающего окна"?
0
|
04.10.2012, 18:36 | |
Ответы с готовыми решениями:
13
Что делать, чтобы нажав за пределы всплывающего окна оно не закрывалось? Как сделать что бы после всплывающего окна появилась ссылка на загрузку файла Отключить скрытие окна при клике вне всплывающего окна Закрытие всплывающего окна Замена всплывающего окна |
Заблокирован
|
|
04.10.2012, 20:36 | 2 |
izcian, всякое окно, открытое методом window.open (), можно закрыть
либо из него самого - self.close (); либо из его родителя, тогда при открытии окна надо его сохранить в глобальной переменной - var MyWindow = window.open (); и потом в нужном месте - MyWindow.close () соответственно, это окно можно закрыть из любого из его потомков, или из любого другого потомка его предка, а также из любого предка его предка... но эти варианты я рассматривать здесь не буду, ладно?
0
|
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
|
05.10.2012, 13:42 [ТС] | 3 |
Спасибо за ответ. Только у меня почему-то окно просто сворачивается. Так должно быть или оно все же должно именно закрываться?
0
|
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
||||||
05.10.2012, 16:37 [ТС] | 5 | |||||
0
|
Заблокирован
|
|||||||||||
05.10.2012, 16:57 | 6 | ||||||||||
izcian, читать не умеете
я вам выше написал (цитирую себя же) - вы для объекта MyWindow прописываете дефиницию var внутри функции и таким образом делаете этот объект локальным, а не глобальным var для MyWindow надо прописывать ВНЕ функции в общем, уберите дефиницию var и всё заработает как надо ----- чтобы стало совсем понятно: в идеале надо делать так:
1
|
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
|
05.10.2012, 17:28 [ТС] | 7 |
Notortep спасибо большое. Заработало конечно.
0
|
Заблокирован
|
|
05.10.2012, 17:31 | 8 |
и, кстати, добавлю: перед закрытием окна надо проверить - а не закрыто ли оно уже пользователем самостоятельно - ведь пользователь же может САМ нажать на крестик и закрыть окно
тогда возникнет ошибка - попытка обращения к уже несуществующему объекту ----- у всякого открытого окна есть свойство closed - равно false, если окно ещё открыто, и true - если уже закрыли в общем, в вашей функции добавьте: ... if (id == 'close' && !MyWindow.closed) { MyWindow.close (); }
1
|
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
|
07.10.2012, 10:52 [ТС] | 9 |
Спасибо большое! У меня возникла еще одна мысль, сделать что-то альтернативное. По ссылке через ajax (чтобы не перезагружать страницу) подключать фрейм (правда я сними не работал), через который выводить менеджера изображений через z-index.
0
|
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
|
07.10.2012, 15:05 [ТС] | 11 |
Не понял Вас. Есть форма. Человек заполнил поля. Далее, нужно вставить картинку. Кликает, через ajax вызывается в фрейме окно (менеджер изображений), где он может найти картинку, скопировать (название, путь, удалить, переименовать и т.д), закрыть фрейм, вставить в форму картинку (путь) и отправить на сервер. При этом, заполненные поля сохраняются (при работе с картинками). Или фреймы здесь не помошник?
Все это у меня проделывается в настоящий момент через js (имею ввиду отдельно открытое окно). Но он не совсем мне нравится Р.S. И кстати, все действия в менеджере картинок сделано на ajax, т.е. там все делается в асинхронном режиме.
0
|
Заблокирован
|
|
07.10.2012, 23:54 | 12 |
а я не понял вас
зачем здесь нужен ajax? человек кликает - открывается (становися видимым) ифрейм, в который просто грузится страница с картинками (имеющая свой конкретный URL) человек ищет и выбирает там картинку, закрывает (делает невидимым) этот ифрейм, вставляет в форму путь к картинке и отправляет форму на сервер ещё раз спрашиваю - зачем здесь ajax? для чего вы его прикручивать собираетесь? ----- вот если бы по клику открывался не ифрейм (фрейм), а какой-то плайн-тег (например, <div>), в который вы хотите записать данные с какого-то серверного файла, то тогда - да, ajax в этом случае можно использовать но и тут - использовать ajax целесообразно для случая, если по каким-то условиям содержимое этого <div>'а будет разным для разных пользователей (или для разных случаев ввода данных в форму) а если для любых пользователей во всех случаях вам надо открывать один и тот же набор картинок, то действительно целесообразно для этого использовать именно ифрейм (в котором есть атрибут src, где можно указать адрес неменяющейся странички с картинками) и никакого ajax'a не надо теперь понятно?
0
|
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
|
|
09.10.2012, 11:41 [ТС] | 13 |
Notortep а каким способом открывать/закрывать фрейм? Через js display: block?
0
|
Заблокирован
|
|
09.10.2012, 19:29 | 14 |
izcian, способов море
например, просто делая ифрейм видимым/невидимым <iframe id="myIfr"> и document.getElementById ('myIfr').style.display = 'block'; // либо 'none' или же полностью его удаляя и заново прописывая <div id="myDiv"> и document.getElementById ('myDiv').innerHTML = '<iframe src="URL"></iframe>'; // либо '' (пустая строка) итыдыитыпы...
0
|
09.10.2012, 19:29 | |
09.10.2012, 19:29 | |
Помогаю со студенческими работами здесь
14
Избавиться от всплывающего окна Контур у всплывающего окна Отслеживание всплывающего окна Закрытие всплывающего окна Проверка всплывающего окна Отображение всплывающего окна Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |