Доброго времени суток.
Появилась одна задача по битриксу, не получается решить её, может здесь кто подскажет, буду непременно благодарен.
На странице оформления заказа, форма использует ajax битрикса. Есть варианты получения товара, один из них - доставка курьером. При выборе этого пункта подгружается карта через api-maps яндекса, есть поле, в котором клиент указывает адрес доставки в пределах города и нажимает рассчитать стоимость. Далее прокладывается маршрут, вычисляется расстояние и происходит подсчет стоимости.
Проблема в том, что после нажатия расчета стоимости доставки, происходит перезагрузка формы через ajax, чтобы на странице обновилась информация о стоимости доставки и т.д., НО, карта пропадает. Она попросту отсутствует.. Курил интернет, пишут, что отваливается jquery, что у битрикса есть событие, которые можно отловить, после выполнения ajax запроса.. Но, что-то оно у меня не работает, в консоли пишет, bx is not defined.
Причем, если отключить ajax, страница обновляется и все отображается.
Функция обновления формы:
Появилась одна задача по битриксу, не получается решить её, может здесь кто подскажет, буду непременно благодарен.
На странице оформления заказа, форма использует ajax битрикса. Есть варианты получения товара, один из них - доставка курьером. При выборе этого пункта подгружается карта через api-maps яндекса, есть поле, в котором клиент указывает адрес доставки в пределах города и нажимает рассчитать стоимость. Далее прокладывается маршрут, вычисляется расстояние и происходит подсчет стоимости.
Проблема в том, что после нажатия расчета стоимости доставки, происходит перезагрузка формы через ajax, чтобы на странице обновилась информация о стоимости доставки и т.д., НО, карта пропадает. Она попросту отсутствует.. Курил интернет, пишут, что отваливается jquery, что у битрикса есть событие, которые можно отловить, после выполнения ajax запроса.. Но, что-то оно у меня не работает, в консоли пишет, bx is not defined.
Причем, если отключить ajax, страница обновляется и все отображается.
Функция обновления формы:
Код |
---|
function submitForm(val) { if (val != 'Y') { document.getElementById('confirmorder').value = 'N'; } var orderForm = document.getElementById('ORDER_FORM_ID_NEW'); jsAjaxUtil.InsertFormDataToNode(orderForm, 'order_form_div', false); orderForm.submit(); return true; } |
Подключаю карты вот так:
Код |
---|
ymaps.ready(function () { //$("#YMapsID").empty(); if (typeof myMap == "undefined") { // Дождёмся загрузки API и готовности DOM. myMap = new ymaps.Map("YMapsID", { // Центр карты center: [55.344032, 86.065912], // Коэффициент масштабирования zoom: 16 }); // Добавление метки var myPlacemark = new ymaps.Placemark([55.344032, 86.065912], { // Хинт показывается при наведении мышкой на иконку метки. hintContent: 'Магазин', // Балун откроется при клике по метке. balloonContent: 'Магазин' }); // После того как метка была создана, добавляем её на карту. myMap.geoObjects.add(myPlacemark); } // console.log('КАРТА ОПРЕДЕЛЕННА'); //} }); |
Прилагаю видео, для понимая, что происходит...