Я хочу заблокировать пользователя для ввода Я просто хочу, чтобы он выбирал только из списка Я пробовал отключить и только для чтения, но это отключит мой список, а я этого не хочу. это мой код
<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>
Описанное поведение напоминает мне элементы select. Почему элемент списка данных в этом случае?
@AndreaOlivato нет, это не спасибо .... Я не хочу, чтобы пользователь мог что-либо вводить самостоятельно, но выберите один из вариантов
@Marcel Марсель, я использовал список данных, потому что не знаю, как использовать элемент выбора с запросом к базе данных.
Лучше использовать 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>
но если я это сделаю, если пользователь не выберет его и когда он нажмет «Отправить» ... в базу данных он по умолчанию вставит первое значение .... я хочу, чтобы он выбрал одно из списка или ничего в этом поле не требуется
вы можете использовать элемент формы вместе с атрибутом required
, чтобы значение не осталось пустым
это поле не может быть обязательным, это проблема
вы можете добавить пустую опцию прямо перед циклом с нулевым значением в качестве значения и проверить, является ли значение нулевым или нет. если ноль, то больше ничего не делайте, вставляйте данные
Из спецификации уровня жизни элемента список данных:
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
я попробовал это, и это сработало для 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>
Отвечает ли это на ваш вопрос? список данных html5 для выбора только предопределенных параметров