Расширенное всплывающее окно popup
На Яндекс-картах, когда заходите в конструктор собственных карт есть инструмент МАРКЕР, выбираю этот инструмент, тыкаю в любое место на карте и сразу появляется маркер и всплывающее окно, внутри которого есть поле ввода текста, выпадающий список и другие элементы. Как сделать такое окно? Пишу приложение, тоже связанное с картами.
![]() |
Ладно ребята, я тут немного разобрался и снова застрял. Чтобы внедрить в 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 создается программно, а не объявляется изначально в коде, взаимодействовать с ним пока не знаю как. |
sayaton,
что мешает после создания повесить обработчик? |
после создания чего? Маркера? Посмотрите как реализовано создание маркера на яндекс-картах . Мне нужно тоже самое.
В popup я прописываю все элементы <textarea id="dddd" name="tdfdfd" cols="40" rows="3"></textarea> <input id="popButton" type="button" value=" send " onclick="ffff(document.getElementById('dddd').value)">') а содержимое текст ареа хочу отправить в функцию, но не выходит |
Цитата:
|
помогли так помогли, ничего не скажешь
|
Цитата:
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) }); |
Uncaught TypeError: Cannot read property 'addEventListener' of null
|
sayaton,
значит не после bindPopup а после какого нибудь marker.show() или делегирование 'popButton' на body |
sayaton,
если есть jquery // ffff где-то тут $("body").on("click", "#popButton", function() { ffff(document.getElementById('dddd').value) }) |
Часовой пояс GMT +3, время: 19:03. |