jQuery Validation プラグインを使用して、2 つの時間フィールドを検証しようとしています。end time
1つのフィールドで「すべて」が選択されている場合、それが他のフィールドにも当てはまり、より大きいことを確認したい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に本当に慣れていないので、おそらく単純なものだと思います。