Я использую плагин jQuery Validation и пытаюсь проверить два временных поля.Я хочу убедиться, что, если «Все» выбрано для одного поля, оно верно для другого, а end time
больше start time
Вот HTML:
<form id="schedule">
<select name='start_hour' id='start_hour'>
<option value='All00'>All</option>
<option value='0000'>00</option>
<option value='0100'>01</option>
<option value='0200'>02</option>
<option value='0300'>03</option>...
</select>
and
<select name='end_hour' id='end_hour'>
<option value='All00'>All</option>
<option value='0000'>00</option>
<option value='0100'>01</option>
<option value='0200'>02</option>
<option value='0300'>03</option>...
</select>
</form>
Вот пользовательское правило:
jQuery.validator.addMethod( "schedule", function(value, element) {
var start_hour = document.getElementsByName("start_hour");
var end_hour = document.getElementsByName("end_hour");
alert(start_hour.value);
alert(end_hour.value);
if (start_hour.value == "All00" && end_hour.value !="All00")
{
alert('end hour all error')
return false;
}
else if (end_hour.value == "All00" && start_hour.value !="All00")
{
alert('start hour all error')
return false;
}
else if (end_hour.value <= start_hour.value ){
alert('end hour must be larger error')
return false;
}
else return true;
}, "Error with schedule");
по какой-то причине alert(start_hour.value);
возвращает "неопределенное". Я также пытался использовать getElementbyID
, но это тоже не удалось.Я действительно новичок в Javascript, поэтому я знаю, что это, вероятно, что-то простое.
JsFiddle Here