Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почти popup окно (https://javascript.ru/forum/misc/1633-pochti-popup-okno.html)

ravnur 26.08.2008 20:07

Почти popup окно
 
Хочу реализовать что-то среднее между popup окном и формой: кликаешь по кнопке, появляется форма (именно форма, а не страница), в ней можно заполнить некоторые поля и отослать сообщение. Если при этом кликнуть вне формы, то она исчезнет. Примером такой формы может служить окно для добавления отзыва об участнике на searchengines.ru.

Как можно реализовать такой функционал?
Можно обойтись html, или нужен javascript или же фреймворк типа jquery? Хотелось бы обойтись без фреймворков

ZoNT 26.08.2008 20:41

нужен javascript, а фреймворки - это зло!!!

ravnur 26.08.2008 21:10

> нужен javascript
а что конкретно из javascript'a? не нашел ничего, что давало бы такой функционал. все примеры в основном на jquery, prototype

> а фреймворки - это зло
почему?

ZoNT 26.08.2008 21:11

поищи поиском по форуму, я уже писал...

Нужно: да всё нужно... Сначала нужно изучить синтаксис языка, а потом поковырять простые примеры...

ravnur 26.08.2008 21:35

спасибо

ravnur 26.08.2008 21:41

и все-таки...
js я немного знаю, есть там функция window.open(), но она создает новую страницу, что мне не нужно.

а создать именно всплывающую форму я не знаю как. знал бы - не спрашивал

ZoNT 26.08.2008 21:43

Помести форму в див, абсолютно его спозиционируй. Когда надо показывать - показывай, когда надо скрывать - скрывай... вот и всё...

ravnur 26.08.2008 21:51

ок. пусть будет так, как меньшее из зол.

спасибо за помощь

Андрей Параничев 26.08.2008 22:20

ravnur,
Это так и делается. Переключается свойство стиля display у абсолютно позиционированного элемента.

А отслеживать нажатие вне div: установи событие по клику на document.body - скрытие div, а на сам div с формой установи отключение всплывания события по клику (event.cancelBubble/event.stopPropagation). Только после скрытия не забудь убрать событие с document.body.


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