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, время: 00:19. |