Выбор в Select, отправка post запроса

Подскажите, пожалуйста, как сделать, чтобы в Select при выборе пункта отправлялся post-запрос? А то приходится рядом кнопку "Отправить" делать.


Ответы (1 шт):

Автор решения: nazarpunk

addEventListener(`change`, e => {
  const $select = e.target;
  
  if (!$select.classList.contains(`auto-send-select`)) return;
  
  const body = new FormData();
  body.set($select.name, $select.value);
  e.target.disabled = true;

  fetch($select.dataset.action, {
      method: `post`,
      body: body
    })
    .catch(err => {
      console.error(err);
    })
    .finally(() => {
      $select.disabled = false;
    });
});
<select class='auto-send-select' data-action='/app-one.php' name='select-one'>
  <option>one</option>
  <option>two</option>
  <option>three</option>
</select>

<select class='auto-send-select' data-action='/app-two.php' name='select-two'>
  <option>four</option>
  <option>five</option>
  <option>six</option>
</select>

→ Ссылка