| 
	| 
	
	| 
		
	| 
			
			 
			
				04.04.2014, 18:44
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.06.2013 
						Сообщений: 19
					 
		
 |  |  
	| 
				Не вызывается функция JS в HTML
			 Приветствую!В JS я топор. Прощу помощи
 Пытаюсь вызвать JS функцию в HTML таким методом:
 
 <script type="text/javascript" language="javascript">
 showAddress('Москва, ул.Самокатная, д.1., стр.21')
 </script>
 но ничего не выходит.
 Если же я прописываю так:
 <a href="javascript:showAddress('Москва, ул.Самокатная, д.1., стр.21')">Москва, ул.Самокатная, д.1., стр.21</a>
 то при нажатии на ссылку все работает.
 
 Как мне сделать чтобы функция запускалась автоматом не нажимая на ссылку?
 |  |  
	| 
		
	| 
			
			 
			
				04.04.2014, 19:27
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 24.09.2013 
						Сообщений: 1,436
					 
		
 |  |  
	| Скорее всего, на момент загрузки элемента <script> и выполнения в нем кода (а код выполняется сразу же при загрузке) функции showAddress просто не существует. Как запускать функцию автоматом - запускать её лишь тогда, когда она будет объявлена. Как это сделать - без знания кода сказать невозможно. |  |  
	| 
		
	| 
			
			 
			
				04.04.2014, 19:36
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.06.2013 
						Сообщений: 19
					 
		
 |  |  
	| почему тогда она так выполняется<a href="javascript:showAddress('Москва, ул.Самокатная, д.1., стр.21')">Москва, ул.Самокатная, д.1., стр.21</a>
 
 ???
 |  |  
	| 
		
	| 
			
			 
			
				04.04.2014, 19:39
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 24.09.2013 
						Сообщений: 1,436
					 
		
 |  |  
	| В этом случае код выполняется только при нажатии на ссылку, когда страница загрузилась и функция showAddress была инициализирована. Если ты вставляешь код в элемент <script> - этот код выполняется во время загрузки страницы, еще до того, как функция инициализируется. |  |  
	| 
		
	| 
			
			 
			
				04.04.2014, 19:41
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.06.2013 
						Сообщений: 19
					 
		
 |  |  
	| а да точно...саму функцию я объявляю в <head> документа
 <script src="http://api-maps.yandex.ru/1.1/index.xml?key=AAxdPlMBAAAAtF8OewMAdeohAZP2V7UNQIga  GBL1CzxrEf0AAAAAAAAAAACSv_9W2SVDOURAo9v_4FDuNoFBbQ  ==" type="text/javascript"></script>
 
 <script type="text/javascript">
 var map, geoResult;
 
 // Создание обработчика для события window.onLoad
 YMaps.jQuery(function () {
 // Создание экземпляра карты и его привязка к созданному контейнеру
 map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
 
 // Установка для карты ее центра и масштаба
 map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
 
 // Добавление элементов управления
 map.addControl(new YMaps.TypeControl());
 });
 
 // Функция для отображения результата геокодирования
 // Параметр value - адрес объекта для поиска
 function showAddress (value) {
 // Удаление предыдущего результата поиска
 map.removeOverlay(geoResult);
 
 // Запуск процесса геокодирования
 var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
 
 // Создание обработчика для успешного завершения геокодирования
 YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
 // Если объект был найден, то добавляем его на карту
 // и центрируем карту по области обзора найденного объекта
 if (this.length()) {
 geoResult = this.get(0);
 map.addOverlay(geoResult);
 map.setBounds(geoResult.getBounds());
 }else {
 alert("Ничего не найдено")
 }
 });
 
 // Процесс геокодирования завершен неудачно
 YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
 alert("Произошла ошибка: " + error);
 })
 }
 </script>
 
 </script>
 
 подскажите как и что переделать, позарез надо.
 
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				04.04.2014, 20:03
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 24.09.2013 
						Сообщений: 1,436
					 
		
 |  |  
	| Так, ну функция-то у тебя создается до ее вызова, а вот данные загружаются уже после. Пропиши вызов showAddress вот здесь: 
YMaps.jQuery(function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
// Установка для карты ее центра и масштаба
map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
// Добавление элементов управления
map.addControl(new YMaps.TypeControl());
showAddress('Москва, ул.Самокатная, д.1., стр.21');
});
 |  |  
	| 
		
	| 
			
			 
			
				04.04.2014, 20:08
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.06.2013 
						Сообщений: 19
					 
		
 |  |  
	| Низкий поклон!Заработало!
 Вопрос снят.
 |  |  |  |