Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Расширенное всплывающее окно popup (https://javascript.ru/forum/dom-window/69074-rasshirennoe-vsplyvayushhee-okno-popup.html)

sayaton 28.05.2017 15:40

Расширенное всплывающее окно popup
 
На Яндекс-картах, когда заходите в конструктор собственных карт есть инструмент МАРКЕР, выбираю этот инструмент, тыкаю в любое место на карте и сразу появляется маркер и всплывающее окно, внутри которого есть поле ввода текста, выпадающий список и другие элементы. Как сделать такое окно? Пишу приложение, тоже связанное с картами.

sayaton 29.05.2017 20:08

Ладно ребята, я тут немного разобрался и снова застрял. Чтобы внедрить в popup какие либо элементы их нужно прописать в коде popup,

marker.bindPopup(' <p>Введите название </p> <textarea id="dddd" name="tdfdfd" cols="40" rows="3"></textarea> <select>   <option>Пункт 1</option>  <option>Пункт 2</option> </select>  <input id="popButton" type="button" value=" send " onclick="ffff()">')




А как передать данные из textarea куда нибудь? Поскольку textarea создается программно, а не объявляется изначально в коде, взаимодействовать с ним пока не знаю как.

рони 29.05.2017 20:38

sayaton,
что мешает после создания повесить обработчик?

sayaton 30.05.2017 08:54

после создания чего? Маркера? Посмотрите как реализовано создание маркера на яндекс-картах . Мне нужно тоже самое.

В popup я прописываю все элементы

<textarea id="dddd" name="tdfdfd" cols="40" rows="3"></textarea> 

<input id="popButton" type="button" value=" send " onclick="ffff(document.getElementById('dddd').value)">')


а содержимое текст ареа хочу отправить в функцию, но не выходит

рони 30.05.2017 09:14

Цитата:

Сообщение от sayaton
Посмотрите как реализовано

лучше вы к нам

sayaton 30.05.2017 09:28

помогли так помогли, ничего не скажешь

рони 30.05.2017 09:51

Цитата:

Сообщение от sayaton
помогли так помогли, ничего не скажешь

1.чтобы посмотреть вашу ссылку, нужна регистрация.
2.неизвестен ваш код.

попробуйте так ...
marker.bindPopup(' <p>Введите название </p> <textarea id="dddd" name="tdfdfd" cols="40" rows="3"></textarea> <select>   <option>Пункт 1</option>  <option>Пункт 2</option> </select>  <input id="popButton" type="button"  >')
document.getElementById('popButton').addEventListener('click', function() {
ffff(document.getElementById('dddd').value)
    });

sayaton 30.05.2017 17:10

Uncaught TypeError: Cannot read property 'addEventListener' of null

рони 30.05.2017 17:25

sayaton,
значит не после bindPopup а после какого нибудь marker.show() или делегирование 'popButton' на body

рони 30.05.2017 17:27

sayaton,
если есть jquery
// ffff  где-то тут
$("body").on("click", "#popButton", function() {
   ffff(document.getElementById('dddd').value)
})


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