#html #tags #disable #readonly-attribute
#HTML #Теги #отключить #атрибут только для чтения
Вопрос:
Я пытаюсь создать текстовое поле с выпадающим меню, но пользователь может выбирать параметры только из выпадающего меню. Я хочу отключить возможность пользователя вводить текст в текстовое поле, при этом позволяя им выбирать опцию, но я не знаю, как это сделать. Я пробовал disable
и readonly
, но ни один из них не делает то, что я хочу, хотя возможно, что я неправильно использую эти атрибуты.
Редактировать Я понял две ошибки в своем первоначальном вопросе. Я имел в виду disabled
вместо disable
, и я также имел в виду ввод текста вместо текстового поля.
Комментарии:
1. чего вы на самом деле пытаетесь достичь? Почему вы хотите вложить выпадающее меню в текстовое поле? Кроме того, пожалуйста, предоставьте любой необходимый код, который вы используете до сих пор.
2. это не так
disable
, егоdisabled
. Это должно сработать:<input disabled>
3. @Mr. PizzaGuy Я понял свою ошибку, но проблема не в правописании. Мне не нужен эффект, который
disabled
имеет.4. @tacoshy Это не обязательно текстовое поле, а скорее поле ввода с прикрепленным списком данных. Я хочу, чтобы ввод пользователей в поле был ограничен параметрами, которые я установил в списке данных.
5. хм … таким образом, пользователи могут вводить только то, что содержит список данных
Ответ №1:
Почему вы хотите иметь текстовое поле, вы можете просто использовать тег выбора
<label for="cars">Choose a car:</label>
<select name="cars" id="cars" oninput="myFunc(this)">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Это создаст выпадающий список.
Вы можете прикрепить значение к div, чтобы показать его
function myFunc(selected){
//you can replace the divId below by your div's id
document.getElementById("divId").innerHTML=selected.value;
}
Или вы можете использовать тип ввода =»радио»
Комментарии:
1. Спасибо, я изменил значение
DivElement
наdocument.getElementById("id")
просто потому, что я не знаю, что это делает, но все равно это отлично работало.2. Вы все сделали правильно. Я только что указал любой элемент DivElement, который вы можете получить любым методом, таким как document.getElementById(«id»), document. querySelector(«#id») или document.getElementsByClassName(«class»)[0]. Существует множество других методов, поэтому я не указал ни на один, который только что написал DivElement