Получить значение html и передать в поле input. Как это сделать?

Ссылка скопирована
1 апреля 2026 1 ответ

Всем привет.

Весь день ломаю голову, как получить данные из виджета Почты России и передать их в поле. Суть следующая: при выборе почтового отделения, во всплывающем окне отображается № отделения (почтовый индекс). Необходимо этот индекс подставить в поле input.

Получить значение html и передать в поле input. Как это сделать?

Виджет почты вставлен через скрипт:

<div id="ecom-widget" style="height: 500px">   <script src="https://widget.pochta.ru/map/widget/widget.js"></script>   <script>     ecomStartWidget({       id: *****,       callbackFunction: null,       containerId: 'ecom-widget'     });   </script> </div>

<div id="ecom-widget" style="height: 500px"> <script src="https://widget.pochta.ru/map/widget/widget.js"></script> <script> ecomStartWidget({ id: *****, callbackFunction: null, containerId: 'ecom-widget' }); </script> </div>

А вывод всплывающего окна имеет такой код:

<div class="balloon">             <div class="balloon__header">               <div class="balloon__header-icon">                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor">     <path fill-rule="evenodd" d="M4 2a1 1 0 000 2h16a1 1 0 100-2H4zm-.32 11H4v7a1 1 0 102 0v-7h4v6.16c0 1.02.82 1.84 1.84 1.84h6.32c1.02 0 1.84-.82 1.84-1.84V13h.32c.93 0 1.68-.75 1.68-1.68V7.68C22 6.75 21.25 6 20.32 6H3.68C2.75 6 2 6.75 2 7.68v3.64c0 .93.75 1.68 1.68 1.68zM18 13h-6v6h6v-6z" clip-rule="evenodd"></path>   </svg>                </div>                <div class="balloon__header-wrapper">                 <span class="balloon__header-title">                   Почтовое отделение                 </span>              <div class="balloon__header-subtitle">       <span>357106       </span><div class="balloon__tariff"></div>              </div>       </div>     </div>      <div class="balloon__main-content">        <div class="balloon__address">       г Невинномысск, ул Новая 15     </div>          <div class="balloon__schedule">                 <span class="balloon__schedule-days">Пн:</span> выходной                              <span class="balloon__schedule-days">Вт - Сб:</span>                 <div class="balloon__schedule-intervals">                   <span class="balloon__schedule-interval-item">09:00 - 16:00, </span>                   <span class="balloon__schedule-interval-item">перерыв: 13:00 - 14:00</span>                 </div>                              <span class="balloon__schedule-days">Вс:</span> выходной             </div>          </div>   </div>

<div class="balloon"> <div class="balloon__header"> <div class="balloon__header-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor"> <path fill-rule="evenodd" d="M4 2a1 1 0 000 2h16a1 1 0 100-2H4zm-.32 11H4v7a1 1 0 102 0v-7h4v6.16c0 1.02.82 1.84 1.84 1.84h6.32c1.02 0 1.84-.82 1.84-1.84V13h.32c.93 0 1.68-.75 1.68-1.68V7.68C22 6.75 21.25 6 20.32 6H3.68C2.75 6 2 6.75 2 7.68v3.64c0 .93.75 1.68 1.68 1.68zM18 13h-6v6h6v-6z" clip-rule="evenodd"></path> </svg> </div> <div class="balloon__header-wrapper"> <span class="balloon__header-title"> Почтовое отделение </span> <div class="balloon__header-subtitle"> <span> № 357106 </span> • <div class="balloon__tariff"> - </div> </div> </div> </div> <div class="balloon__main-content"> <div class="balloon__address"> г Невинномысск, ул Новая 15 </div> <div class="balloon__schedule"> <span class="balloon__schedule-days">Пн:</span> выходной <span class="balloon__schedule-days">Вт - Сб:</span> <div class="balloon__schedule-intervals"> <span class="balloon__schedule-interval-item">09:00 - 16:00, </span> <span class="balloon__schedule-interval-item">перерыв: 13:00 - 14:00</span> </div> <span class="balloon__schedule-days">Вс:</span> выходной </div> </div> </div>

Очень надеюсь на Вашу помощь. Заранее благодарю!!!

Дополнительно:

let numberPost = document.querySelector('.balloon__header-subtitle span').innerHTML.trim().match(/d/g).join(''); input.setAttribute('value', numberPost);

let numberPost = document.querySelector('.balloon__header-subtitle span').innerHTML.trim().match(/d/g).join(''); input.setAttribute('value', numberPost);

Вешаете MutationObserver на div.balloon__header-subtitle или на родителя div.balloon, в зависимости от того, как организовано формирование всплывающего окна. Отслеживаете изменение содержимого и извлекаете нужную информацию.

  • Я не знаю код JS. Брал куски кода с форумов, которые получают данные из div'ов и передают в input, но ни один не сработал((
  • Ananas666, Тогда вам сюда: https://freelance.habr.com
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

Для получения значения html и передачи его в поле input можно использовать JavaScript. Ниже приведен пример кода на JavaScript, который позволит вам достичь этой задачи:

// Получаем значение html
var htmlValue = document.getElementById('elementId').innerHTML;
 
// Передаем значение в поле input
document.getElementById('inputId').value = htmlValue;

// Получаем значение html var htmlValue = document.getElementById('elementId').innerHTML; // Передаем значение в поле input document.getElementById('inputId').value = htmlValue;

В этом коде мы сначала получаем значение HTML элемента с определенным идентификатором ('elementId') с помощью метода `innerHTML`. Затем мы присваиваем это значение полю input с определенным идентификатором ('inputId') с помощью свойства `value`.

Убедитесь, что у вас есть элемент с идентификатором 'elementId', содержащий нужное вам HTML значение, и элемент input с идентификатором 'inputId', в который вы хотите передать это значение.

Надеюсь, это поможет вам решить вашу проблему! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно