Javascript.RU

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

Обновление отдельного блока без перезагрузки страницы
Добрый день, уважаемые форумчане!

Что есть сейчас?

На странице есть блок карты (для создания и работы с ним использую leaflet.js + Leaflet Routing Machine для построения маршрутов)
Блок карты:
<div id="map" style="width: 100%; height: 500px"></div>
Маршрут отрисовывается при помощи Leaflet Routing Machine так:
L.Routing.control({waypoints: markers}).addTo(map);
, где markers - массив, содержащий координаты маркеров для построения маршрута

Чего я хочу?

В идеале все должно работать так:
1. В поле формы вводятся координаты маркера
2. По кнопке submit формы координаты записываются в массив markers
3. По маркерам отрисовывается маршрут

Что я сделал для того, чтобы достичь своего идеала?)
1. Сотворил это:
<script>

        //Объявляем массив markers для хранения точек маршрута
        var markers = [];

        //Отрисовка маршрута по точкам
        L.Routing.control({
            waypoints: markers
        }).addTo(map);

        //Функция для добавления нового элемента в массив markers
        function LRMAdd(coord){
            markers.push(L.latLng(coord));
            $('#map').html();
            }
        
        function getValue(coord){
            return document.getElementById(coord).value;
            }

</script>
2. Форма для добавления точки маршрута:
<form id="form">
<input type="text" id="input_coord">
<input type="submit" onsubmit="LRMAdd(getValue("input_coord"))" value="Добавить"></form>
И ничего! Подозреваю, что проблема в том, что при нажатии кнопки "Добавить" обновляется страница целиком, и markers обнуляется каждый раз. Предполагаю, что проблему можно решить, сделав возможность обновления отдельного блока с картой без перезагрузки всей страницы. Однако я не понимаю, как это сделать. Помогите, пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2018, 10:46
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

BellaChao,
Попробуйте:
form переделать в div
type вместо submit - button
Вместо onsubmit - onclick
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2018, 09:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

BellaChao, вот почитай статейку
https://monsterlessons.com/project/l...y-v-javascript

Там немного про другое... Но принцип нужно использовать тот же.
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2018, 11:04
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

ksa,
Форма - это для отправки данных на сервер. Здесь отправка не нужна. Так зачем сначала делать форму, а потом бороться с ее функциональностью?
Ответить с цитированием
  #5 (permalink)  
Старый 29.01.2018, 14:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Dilettante_Pro
Форма - это для отправки данных на сервер. Здесь отправка не нужна.
Так отправка не обязательна.
Сообщение от Dilettante_Pro
Так зачем сначала делать форму, а потом бороться с ее функциональностью?
Никакой "борьбы" нет, сплошное использование возможностей.

Но каждый волен выбирать свой путь...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма без перезагрузки страницы mirstiker Работа 11 21.07.2016 01:47
location.search иXMLHttpRequest без перезагрузки страницы (AJAX) Ruskat AJAX и COMET 2 14.06.2016 22:35
AJAX отправка формы без перезагрузки страницы Igorsrt AJAX и COMET 3 30.05.2016 10:54
Обновление контента в блоке без перезагрузки страницы spyrofunk AJAX и COMET 2 30.03.2016 08:57
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06