Html select / option не открывается в браузерах Android

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

<SELECT Name = "numSelect">
    <OPTION Value = "NONE" selected>-- choose a number below --</OPTION>
    <OPTION Value=1>1</OPTION>
    <OPTION Value=2>2</OPTION>
    <OPTION Value=3>3</OPTION>
    <OPTION Value=4>4</OPTION>
</SELECT>
  1. код отлично работает в настольных браузерах, IE, Chrome, Firefox и Opera. Поле открыто, чтобы показать варианты, которые можно щелкнуть.
  2. однако код не работает в мобильных браузерах Android, Opera-mobile, Chrome, Firefox и во встроенном интернет-браузере Samsung. Список выбора открывается в этих браузерах при нажатии стрелки вниз. В этом есть одно отличие. Браузер Puffin для Android "делает" это правильно (то есть открыто).
  3. код также не работает в браузере iPhone и iPad Safari. Хотя отображается первый вариант, список не открывается. Раскрывающийся список открывается при нажатии стрелки вниз.

Я подумал, что это может быть связано с различиями между HTML5 и более ранними версиями, но я не нашел таких ссылок. Нет разницы в поведении обозревателя независимо от того, отправляется ли код через сервер ASP или как файл .html.

У меня двоякий вопрос.

  1. в чем может быть разница между браузерами? Я понимаю, что это тяжелый вопрос. Это может не быть ответом, но, если возможно, краткое объяснение.
  2. есть ли другой способ обработки поля выбора параметров (поле со списком, которое показывает список без необходимости щелкать стрелку вниз), который будет работать на Android? Я не ищу подробный код; но приветствовал бы предложение.

Спасибо за любую помощь и / или просвещение.

Редактировать: Как предлагается ниже, к атрибутам добавлены кавычки. Результаты такие же. Настольные браузеры правильно отображают select / option как открытое поле, но браузеры Android не отображаются как открытое поле, за исключением браузера Puffin, который правильно показывает открытое поле. Safari на iPhone и iPad также не показывает открытое окно.

Вы когда-нибудь понимали это? Та же проблема на старом планшете Android.

Polshgiant 06.10.2020 14:54
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
1 017
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема может быть связана с отсутствием кавычек в значениях атрибутов, например value.

Есть вопрос по этому поводу: HTML-атрибут без кавычек

Спецификация W3C гласит:

All attribute values must be quoted, even those which appear to be numeric.

https://www.w3.org/TR/xhtml1/#h-4.4

Итак, ваш код может быть таким:

<SELECT name = "numSelect">
    <OPTION value = "NONE" selected>-- choose a number below --</OPTION>
    <OPTION value = "1">1</OPTION>
    <OPTION value = "2">2</OPTION>
    <OPTION Value = "3">3</OPTION>
    <OPTION value = "4">4</OPTION>
</SELECT>

Браузеры могут справиться с этим по-разному, и это может быть проблемой, и, добавив кавычки, ваш код будет соответствовать спецификации W3C.

Я думал, что у нас есть победитель, но, к сожалению, я получаю те же результаты с цитатами, что и без кавычек (отредактировал свой вопрос, чтобы сказать это). Как указано в W3, я изменю свой стиль программирования, чтобы использовать кавычки, но это еще не решение моей проблемы. Спасибо за отправку, чтобы очистить мое программирование.

kdsdata 24.04.2018 20:59

Другие вопросы по теме