missing ) after argument list в чем беда не пойму(((
eсть такой скрипт который с Яндекс Карты тырит координаты,но когда я добавляю их как параметр к функции,он почему то ругается, это переменная coord, прошу вашей помощи господа профессоры:victory:
function show_adress_list (){ var coords = document.getElementById("latlongmet").value; $.ajax({ url: 'http://geocode-maps.yandex.ru/1.x/?geocode='+coords+'&sco=latlong&kind=house&results=7', type: 'GET', dataType: 'html', success: function(xml){ $("#message").html(''); document.getElementById("show_list").style.display='none'; jQuery(xml).find('featureMember').each( function() { var qwerty = jQuery(this).find('name').text(), coord = jQuery(this).find('pos').text(); $('#message').prepend("<div class='addresses' onClick='insert_adress($(this).text(),"+coord+");' >"+qwerty+"</div>"); }); document.getElementById("message").style.display='block'; } }); } |
Цитата:
var coord = "'121,123'"; var div = "<div class='addresses' onClick='insert_adress($(this).text(),"+coord+");' >"; alert(div); |
Скорее всего ты забыл обернуть coord в дополнительные кавычки, ведь после склеивания строк параметром в обработчик пойдет не 'somevalue' а somevalue.
|
43.2491,76.919 coord выглидит примерно так
|
Цитата:
Цитата:
|
vladimir7517
экранируем параметры: var coord = '43.2491,76.919'; var div = "<div class='addresses' onClick='insert_adress($(this).text(),\\'"+coord+"\\');' >" alert(div); Если опять ругается проверяем что на самом деле в coords. |
Кстати а давно яндекс карты начали позволять себя дергать по ajax? Ты их правильно используешь?
|
Цитата:
|
Цитата:
|
http://jsfiddle.net/cHJ6S/8/#&togetherjs=PMp3celhxG вот результат,кликните по зеленому диву
|
Дык я в кавычки обернул и все ок стало
coord = '"'+pos123+'"'; Еще раз, складываешь строки у тебя считай одни кавычки "уничтожаются". То есть ты пытаешься передать либо ошибочно insert_adress($(this).text(),123 124) либо вторым параметром уходит первая координата insert_adress($(this).text(),123,124) а надо тебе передавать строку insert_adress($(this).text(),'123 124') |
Цитата:
Цитата:
Цитата:
|
Цитата:
alert([" + coord + "]);' http://jsfiddle.net/cHJ6S/17/ А еще для большей наглядности http://jsfiddle.net/cHJ6S/20/ Он просто не ставит в функцию параметр, для второй координаты. Такой код поломает первый же прилетевший дятел. Переменные, прежде чем передавать в функцию нужно проверять на валидность. Иначе когда api яндеса сглючит, в браузер пользователя полетят эти самые глюки никак не обработанные. А вместо этого программа должна бы сказать - сервис временно недоступен. |
Часовой пояс GMT +3, время: 12:29. |