HTML Выберите не публиковать, если первая опция отключена - PullRequest
0 голосов
/ 26 марта 2020

У меня есть проблема в Microsoft Edge, когда, если первый вариант множественного выбора отключен и выбран, он не будет публиковать этот выбор. Мне нужно, чтобы опция показывалась как выбранная в моем скрипте, потому что она должна отображаться в браузере как одна из опций, поэтому я не могу ее удалить. Это работает в Firefox и Chrome, только не в Edge.

<form action="" method="POST">
    <select name="categories[]" tabindex="1" id="categories" multiple="true" data-placeholder="Select a category">
      <option disabled="" value="1" selected="" data-parentpath="1">Horse</option>
      <option value="5" data-parentpath="1,5">Horse&nbsp;&nbsp;&gt;&nbsp;&nbsp;Bridles &amp; Bits</option>
      <option value="16" data-parentpath="1,5,16">Horse&nbsp;&nbsp;&gt;&nbsp;&nbsp;Bridles &amp; Bits&nbsp;&nbsp;&gt;&nbsp;&nbsp;Bits</option>
    </select>
    <button type="submit">Test</button>
  </form>

Тогда у меня есть код для проверки опубликованных значений

//Check if page posted and process form if it is
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  echo '';
  print_r($_POST);
  echo '
'; Выход; }

Пример доступен на https://www.missionequine.nz/edgeselect

Я часами тестировал и искал, чтобы попытаться это исправить. Он работает, если отключенный и выбранный элемент не является первым элементом, и отправляет сообщения просто отлично, это просто проблема, если это первый параметр, который отключен и выбран.

ОБНОВЛЕНИЕ I только что обнаружил, что он отправляет значения только до первой отключенной и выбранной опции. Так что во втором примере на моей странице примера он не публикует все значения.

1 Ответ

1 голос
/ 27 марта 2020

Похоже, вы используете браузер MS Edge (прежняя версия) .

Я проверил проблему с браузером MS Edge (устаревшая ) и браузером MS Edge Chromium .

Я заметил, что могу производить только проблема с браузером MS Edge (прежняя версия) * 1012. *.

Я пытался найти решение этой проблемы, но не нашел никакого полезного решения этой проблемы.

Если возможно, тогда вы можете порекомендовать своим клиентам перейти на браузер MS Edge Chromium. Проблема отсутствует в браузере MS Edge Chromium.

Скачать браузер MS Edge Chromium можно по ссылке ниже.

Загрузить браузер MS Edge Chromium

Если у вас есть требование использовать только браузер MS Edge (устаревший) , то в качестве обходного пути для этой проблемы, особенно для браузера MS Edge (устаревший) , вы можете попробовать примените CSS к этому элементу, который выглядит так, как будто элемент отключен, и удалите атрибут disabled из этой опции.

enter image description here

Фактически, элемент будет включен, но он стилизован как отключенный. Поэтому, когда пользователь нажимает на нее и отправляет данные. также будут опубликованы данные.

...