我正在使用jQuery Validation plugin並嘗試驗證兩個時間字段。我要確保,如果「全部」中選擇了一個領域,這是對其他真實和end time
大於start time
無法通過自定義jQuery表單下拉驗證選擇GetElementByName的值
下面是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真的很陌生,所以我知道這很簡單。
沒了,'VAR START_HOUR = $( '輸入[名稱= 「START_HOUR」]'); alert(start_hour.value)'仍似乎返回'undefined'請參閱http://jsfiddle.net/BandonRandon/4PrM7/ – BandonRandon 2011-05-17 21:43:36
如果使用jQuery選擇器,您需要使用.val()而不是.value,但是,如果你已經在使用它,那麼還可以使用jQuery。 – RwwL 2011-05-17 21:44:12
當@BrandonRandon使用jQuery時,你必須意識到你正在用選擇器而不是DOM對象返回jQuery對象。給我一秒,我會修改你的代碼,以充分利用jQuery。 – 2011-05-17 21:44:31