У меня есть форма, которая содержит несколько обязательных полей, все из которых работают, кроме раскрывающегося списка.Обязательные проблемы с раскрытием
Я использую этот код для проверки поля:
function formCheck(formobj){
// Enter name of mandatory fields
var fieldRequired = Array("name", "country", "email", "tel");
// Enter field description to appear in the dialog box
var fieldDescription = Array("Name", "Country", "Email", "Telephone");
// dialog message
var alertMsg = "Please complete the following fields:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
return true;
}else{
alert(alertMsg);
return false;
}
}
Это код, я использую для падения вниз:
<select name="country" id="country">
<option value="" disabled="disabled">Please select your country</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
...
Что мне не хватает, чтобы сделать пользователю выберите страну, а не ее, оставив ее на «Пожалуйста, выберите свою страну», и она ничего не возвращает?
Вместо того, чтобы изобретать велосипед, я предлагаю вам использовать библиотеку javascript, такую как jQuery. Вы получите надежный, надежный код, который обрабатывает различия между браузерами. – RedFilter
@RedFilter: Не говоря уже о том, что весь блок кода может быть уменьшен до 10 LLOC. –