Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.07.2013, 17:11
Интересующийся
Отправить личное сообщение для Kuklachel Посмотреть профиль Найти все сообщения от Kuklachel
 
Регистрация: 21.05.2013
Сообщений: 13

Программное нажатие кнопки
Здравствуйте. Подскажите, пожалуйста, как в данном коде реализовать программное нажатие кнопки? И при нажатии кнопки выдается сообщение с координатами, можно ли его скрыть, но оставить координаты в массиве?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Пример рисования многоугольника с выводом координат - API Яндекс.Карт v 2.x</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU"
            type="text/javascript"></script>
	<script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>		
    <script type="text/javascript">
        // Как только будет загружен API и готов DOM, выполняем инициализацию
        ymaps.ready(init);
 
        function init () {
            var myMap = new ymaps.Map("map", {
                    center: [56.317655,43.994362],
                    zoom: 15
                }),
                polygon = new ymaps.GeoObject({
        geometry: {
            type: "Polygon",
            coordinates: []
        }
    });
 
    myMap.geoObjects.add(polygon);
    polygon.editor.startDrawing();
 
	$('input').attr('disabled', false);
 
            // Обработка нажатия на любую кнопку.
            $('input').click(
                function () {
                    // Отключаем кнопки, чтобы на карту нельзя было
                    // добавить более одного редактируемого объекта (чтобы в них не запутаться).
                    $('input').attr('disabled', true);
 
                    polygon.editor.stopEditing();
 
					printGeometry(polygon.geometry.getCoordinates());
 
                });	
 
 
        }
 
		// Выводит массив координат геообъекта в <div id="geometry">
        function printGeometry (coords) {
            $('#geometry').html('Координаты: ' + stringify(coords));
 
            function stringify (coords) {
                var res = '';
                if ($.isArray(coords)) {
                    res = '[ ';
                    for (var i = 0, l = coords.length; i < l; i++) {
                        if (i > 0) {
                            res += ', ';
                        }
                        res += stringify(coords[i]);
                    }
                    res += ' ]';
                } else if (typeof coords == 'number') {
                    res = coords.toPrecision(6);
                } else if (coords.toString) {
                    res = coords.toString();
                }
 
                return res;
            }
        }
 
 
    </script>
</head>
 
<body>
<h2>Пример рисования многоугольника с выводом координат</h2>
 
<div id="map" style="width:800px; height:600px"></div>
<input type="button" value="Завершить редактирование" id="stopEditPolyline"/>
<div id="geometry"/></div>
</body>
 
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 23.07.2013, 19:59
Интересующийся
Отправить личное сообщение для Kuklachel Посмотреть профиль Найти все сообщения от Kuklachel
 
Регистрация: 21.05.2013
Сообщений: 13

Я выяснил, что программное нажатие осуществляется с помощью document.getElementById.
Я пишу так :
<input type="button" value="Завершить редактирование" id="stopEditPolyline"/>
<script>
document.getElementById("stopEditPolyline").click();
</script>

Но ничего не получается, кнопка не нажимается.
Подскажите, пожалуйста, что не так?

Последний раз редактировалось Kuklachel, 23.07.2013 в 20:00. Причина: Ошибка
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2013, 21:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,312

Сообщение от Kuklachel Посмотреть сообщение
Я пишу так :
<input type="button" value="Завершить редактирование" id="stopEditPolyline"/>
<script>
document.getElementById("stopEditPolyline").click();
</script>

Но ничего не получается, кнопка не нажимается.
Подскажите, пожалуйста, что не так?
На тот момент может никаких обработчиков на кнопке нет...
Ответить с цитированием
  #4 (permalink)  
Старый 23.07.2013, 23:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Интересно, как у него обработчик вообще навешивается, если скрипт выше кнопки..
Ответить с цитированием
  #5 (permalink)  
Старый 24.07.2013, 07:41
Интересующийся
Отправить личное сообщение для Kuklachel Посмотреть профиль Найти все сообщения от Kuklachel
 
Регистрация: 21.05.2013
Сообщений: 13

Со скриптом все в порядке, он работает отлично, а вот с программным нажатием беда. Помогите, пожалуйста!
Ответить с цитированием
  #6 (permalink)  
Старый 24.07.2013, 08:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Kuklachel, тебе ksa помогает, а ты словно глухой игнорируешь и дальше орешь о помощи.
Кстати разгадка моего вопроса нашлась на 45 строчке - закрывающая скобка. Значит была и открывающая, просто ты решил почему-то скрыть часть кода от нас..
Ответить с цитированием
  #7 (permalink)  
Старый 24.07.2013, 08:37
Интересующийся
Отправить личное сообщение для Kuklachel Посмотреть профиль Найти все сообщения от Kuklachel
 
Регистрация: 21.05.2013
Сообщений: 13

Конечно есть открывающая, она на 14 строчке. Мне не понятно, что значит :"На тот момент может никаких обработчиков на кнопке нет". Я "document.getElementById" не там леплю?
Ответить с цитированием
  #8 (permalink)  
Старый 24.07.2013, 10:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Kuklachel
Я "document.getElementById" не там леплю?
Да. Обработчик навешивается только после загрузки документа (событие DOMContentLoaded, которого ждет yamps.ready). А ты "кликаешь" еще задолго то этого момента.
Ответить с цитированием
  #9 (permalink)  
Старый 24.07.2013, 21:54
Интересующийся
Отправить личное сообщение для Kuklachel Посмотреть профиль Найти все сообщения от Kuklachel
 
Регистрация: 21.05.2013
Сообщений: 13

Спасибо большое за помощ
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать два события на одно нажатие кнопки mixt Events/DOM/Window 11 30.09.2017 20:44
нажатие на кнопки меню Margosham-k Элементы интерфейса 7 22.11.2012 12:02
ExtJS: нет реакции события нажатие кнопки на тубоксе. potkin ExtJS 3 03.04.2012 19:47
Можно ли узнать нажатие кнопки "назад" в браузере ? phenom jQuery 0 03.02.2011 17:07
АВТОМАТИЧЕСКОЕ НАЖАТИЕ КНОПКИ niger Общие вопросы Javascript 4 04.03.2010 12:59