Как отключить ввод в datalist?

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

<div class="form-group row justify-content-center" id=" input-champs " style="margin-left:;" ><!-- grossistee --> 
   <label for="grossiste" class="col-2 col-form-label"></label>
  <div class="col-3">
    <input type="text" list="list-gro"  placeholder="Grossiste1"  id="g_name1" name="g_name1" class="form-control">
    <datalist id="list-gro">
        <?php while($row = mysqli_fetch_array($resultg)) { ?>
            <option value="<?php echo $row['g_name']; ?>"><?php echo $row['g_name']; ?></option>
        <?php } ?>
    </datalist>
</div>

Отвечает ли это на ваш вопрос? список данных html5 для выбора только предопределенных параметров

Andrea Olivato 10.04.2022 12:38

Описанное поведение напоминает мне элементы select. Почему элемент списка данных в этом случае?

Marcel 10.04.2022 12:45

@AndreaOlivato нет, это не спасибо .... Я не хочу, чтобы пользователь мог что-либо вводить самостоятельно, но выберите один из вариантов

Mi Ra 10.04.2022 12:54

@Marcel Марсель, я использовал список данных, потому что не знаю, как использовать элемент выбора с запросом к базе данных.

Mi Ra 10.04.2022 12:55
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Введение в технологический стек Twitch
Введение в технологический стек Twitch
В этой статье мы подробно рассмотрим стек Twitch, который подразделяется на следующий набор технологий:
8 полезных HTML-тегов, которые лучше использовать вместо <div>
8 полезных HTML-тегов, которые лучше использовать вместо <div>
Когда я только начинал изучать html, я использовал div для всего, это был один из первых тегов, которые я выучил, и казалось, что он работает в любой...
HTML5: API локального хранилища (Local Storage)
HTML5: API локального хранилища (Local Storage)
LocalStorage - это простой способ хранения данных в браузере пользователя.
Доступность HTML - программирование с инклюзивной перспективой
Доступность HTML - программирование с инклюзивной перспективой
Представьте, что вы хотите поехать на пляж. Представьте, что вы упорно трудились весь год и заслужили это. Прибыв на место, вы обнаруживаете, что...
Именование классов CSS: Конвенция именования BEM
Именование классов CSS: Конвенция именования BEM
Сопровождаемость кода, сама по себе, является пульсирующим эффектом нескольких факторов. Когда часть программного обеспечения читабельна, ясна,...
0
4
26
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Лучше использовать select вместо input, так как вы не хотите, чтобы пользователь вводил что-либо от себя.

Вы можете сделать так, чтобы реализовать select с запросом к базе данных

<select name="g_name1" id="g_name1" class="form-control">
  <?php while($row = mysqli_fetch_array($resultg)) { ?>
   <option value="<?php echo $row['g_name']; ?>"><?php echo $row['g_name']; ?></option>
  <?php } ?>
</select>

но если я это сделаю, если пользователь не выберет его и когда он нажмет «Отправить» ... в базу данных он по умолчанию вставит первое значение .... я хочу, чтобы он выбрал одно из списка или ничего в этом поле не требуется

Mi Ra 10.04.2022 13:13

вы можете использовать элемент формы вместе с атрибутом required, чтобы значение не осталось пустым

Joy Dey 10.04.2022 13:14

это поле не может быть обязательным, это проблема

Mi Ra 10.04.2022 13:15

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

Joy Dey 10.04.2022 13:31
Ответ принят как подходящий

Из спецификации уровня жизни элемента список данных:

Each option element that is a descendant of the datalist element, that is not disabled, and whose value is a string that isn't the empty string, represents a suggestion. Each suggestion has a value and a label.

И наоборот, это означает, что пользователь может ввести все, что захочет. Элемент списка данных содержит только предложения, которые пользователь может использовать, но не обязан. Для вашей цели я бы предложил выбрать элемент. Элемент select диктует строгие значения для использования пользователем.

<label for="my-select">My Select</label>
<select name="my-select" id="my-select" required>
    <option value="" disabled selected>Select your option</option>
    <?php foreach ($databaseresult as $row): ?>
        <option value="<?= htmlspecialchars($row['value']) ?>">
            <?= htmlspecialchars($row['label']) ?>
        </option>
    <?php endforeach ?>
</select>

я заменил это ""<?= htmlspecialchars()"" на <?php echo..... и готово... большое спасибо marcel

Mi Ra 10.04.2022 13:46

я попробовал это, и это сработало для m <select type="text" list="list-gro" placeholder="Grossiste2" autocomplete="off" id="g_name2" name="g_name2" class="form-control"> <option value="" disabled selected>Выберите вариант</option> <?php foreach ($resultg as $row): ?> <option value="<?php echo $row['g_name']; ?>" > <?php echo $row['g_name']; ?> </option> <?php endforeach ?> </select>

Mi Ra 10.04.2022 13:49

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