#javascript #forms #validation #select
#javascript #формы #проверка #выберите
Вопрос:
Я создаю проверку для своих форм. Я покрыл поля ввода текста следующим кодом:
function validateForm_id()
{
var ctrl = document.forms["form1"]["id"];
var x=ctrl.value;
if (x==null || x=="") {
document.getElementById('id').style.backgroundColor="#FFD4D4";
document.getElementById("id").style.borderColor="#FF7A7A";
document.all.id.innerText = "password required";
Я хотел бы проверить значение из выпадающих списков выбора. Значения:
— Выберите заголовок —
Mr
. Mrs
. Ms
Я бы хотел, чтобы пользователь не мог отправлять, если — Title — это значение из поля.
как мне ссылаться на первое значение выпадающего списка в if (x==null || x=="")
приведенном выше коде? Вот мой выпадающий список:
<select name="title" onKeydown="Javascript: if (event.keyCode==13) post();" onFocus="validation_title()" onBlur="return validateForm_title()" id="title">
<option>- Title -</option>
<option value="1">Mr</option>
<option value="2">Mrs</option>
<option value="3">Ms</option>
<option value="4">Other</option>
</select> <div align="center" id="title" style="font-size:small; color:#FF0000;"><script type="text/javascript">document.all.title.innerText = " ";</script></div>
Комментарии:
1.
document.all
?! Мы больше не в 1990-х годах — в настоящее время поддерживаются все браузерыdocument.getElementById
; кроме того, вы можете захотеть взглянуть на jQuery — это намного удобнее.2. да, извините, я действительно отстой в javascript, ха-ха, но это работает, спасибо за предупреждение
3. Тогда вам действительно стоит взглянуть на jQuery. Это не только имеет то преимущество, что избавляет вас от некоторых проблем, но и снижает риск нахождения действительно дрянных / старых примеров при поиске кода jQuery. Кстати,
javascript:
не относится к атрибутам onkeydown и т. Д. — Они всегда содержат javascript, единственная причина, по которой он не ломается, — этоxyz:
метка и в значительной степени не работает. И я почти уверен, что ваш обработчик будет работать только в IE, поскольку другие браузеры не используют глобальный объект события.
Ответ №1:
Вы можете использовать selectedIndex
свойство <select>
, чтобы проверить, что первый индекс никогда не выбирается.
if (ctrl.selectedIndex == 0) { alert('The Title field is required'); }
Ответ №2:
var select = document.getElementById('mySelectID');
alert(select.options[0].value); //first option's value
alert(select.value); // currently selected value
Чтобы получить текст параметра, используйте
alert(select.options[select.selectedIndex].text);
Ответ №3:
var opts = yourSelectObj.options;
затем выполните цикл по параметрам.