Валидация форм, проверка select

Элемент формы заказа
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .html4strict.geshi_code {font-family:monospace;} .html4strict.geshi_code .imp {font-weight: bold; color: red;} .html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;} .html4strict.geshi_code .kw3 {color: #000066;} .html4strict.geshi_code .es0 {color: #000099; font-weight: bold;} .html4strict.geshi_code .br0 {color: #66cc66;} .html4strict.geshi_code .sy0 {color: #66cc66;} .html4strict.geshi_code .st0 {color: #ff0000;} .html4strict.geshi_code .nu0 {color: #cc66cc;} .html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;} .html4strict.geshi_code .sc0 {color: #00bbdd;} .html4strict.geshi_code .sc1 {color: #ddbb00;} .html4strict.geshi_code .sc2 {color: #009900;} .html4strict.geshi_code span.xtra { display:block; }

<select name="method_of_delivery" id="method_of_delivery">
<option>-- выберите --</option>
<option value="1">Почтой России</option>
<option value="2">Службой EMS</option>
<option value="3">Транспортной компанией</option>
<option value="4">Курьером по СПб</option>
<option value="5">Cамовывоз</option>
<option value="6">Другой</option>
</select>
 


Перед отправкой заказа, должно проверяться, выбран ли какой-нибудь способ доставки или нет и соответственно уведомлять об этом.

Пример ниже не срабатывает

/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .javascript.geshi_code {font-family:monospace;} .javascript.geshi_code .imp {font-weight: bold; color: red;} .javascript.geshi_code .kw1 {color: #000066; font-weight: bold;} .javascript.geshi_code .kw2 {color: #003366; font-weight: bold;} .javascript.geshi_code .kw3 {color: #000066;} .javascript.geshi_code .co1 {color: #006600; font-style: italic;} .javascript.geshi_code .co2 {color: #009966; font-style: italic;} .javascript.geshi_code .coMULTI {color: #006600; font-style: italic;} .javascript.geshi_code .es0 {color: #000099; font-weight: bold;} .javascript.geshi_code .br0 {color: #009900;} .javascript.geshi_code .sy0 {color: #339933;} .javascript.geshi_code .st0 {color: #3366CC;} .javascript.geshi_code .nu0 {color: #CC0000;} .javascript.geshi_code .me1 {color: #660066;} .javascript.geshi_code span.xtra { display:block; }

function ValidMail () {
var ob_method_of_delivery = document.getElementById ('method_of_delivery');

   if (ob_method_of_delivery.value =="-- выберите --") {
    alert ("Выберите способ доставки");
    ob_method_of_delivery.style.border = 'medium solid red';
    ob_method_of_delivery.focus();
    return false;
  }

return true;
}
 

1 ответов


Проверяется так:


var e = document.getElementById('method_of_delivery');
var selected = e.options[e.selectedIndex].value;
 

добавить value сюда -- выберите -- и сравнивать var selected = e.options[e.selectedIndex].value;
selected с ним


Вот . Работает вроде как.

Все равно не работает
Вот код!


<form action="zakaz2.php" id="form" method="post" onsubmit="return ValidMail ()">
<select name="method_of_delivery" class="method_of_delivery" id="method_of_delivery">
<option>-- выберите --</option>
<option value="1">Почтой России</option>
<option value="2">Службой EMS</option>
<option value="3">Транспортной компанией</option>
</select>
</form>
 


<script type="text/javascript">
function ValidMail () {
var sel = document.getElementById("method_of_delivery");
    if (sel.options[sel.selectedIndex].value == "-- выберите --") {
        alert("Выберите способ доставки");
        sel.style.border = 'medium solid red';
        sel.focus();
    return false;
    }

return true;
}
</script>