2016-11-16 68 views
0

我在寫一個小的jquery函數,該函數應該檢查四個項目的選定輸入。所選擇的時間以小時和分鐘顯示爲下拉列表的「時間」。Jquery,驗證表單提交前的輸入

我有「From」小時和「From」分鐘,「To」小時和「To」分鐘。

我想確保「From」小時和分鐘小於「To」小時和小分鐘,並且直到這是正確的才隱藏表單提交按鈕。

這是我有:

function getvalHT(sel) { 
var selectedFromHours = $('#RoomFromTimeH').val(); 
selectedFromHours  = selectedFromHours.replace(/\b0+/g, ''); 
var selectedToHours  = $('#RoomToTimeH').val(); 
selectedToHours   = selectedToHours.replace(/\b0+/g, ''); 

var selectedFromMin  = $('#RoomFromTimeM').val(); 
selectedFromMin   = selectedFromMin.replace(/\b0+/g, ''); 
var selectedToMin  = $('#RoomToTimeM').val(); 
selectedToMin   = selectedToMin.replace(/\b0+/g, ''); 

if(selectedFromHours < selectedToHours) { 
    alert ('The "To" hours must be greater than the "From" hours'); 
    $("#savebutton").hide(); 
} else if(selectedFromMin > selectedToMin) { 
    alert ('The "To" minutes must be greater than the "From" minutes'); 
    $("#savebutton").hide(); 
} else { 
    $("#savebutton").show();  
} 

} 

<select name="RoomToTimeH" id="RoomToTimeH" class="imaindateselTime" onchange="getvalHT(this);"> 

<select name="RoomToTimeM" id="RoomToTimeM" class="imaindateselTime" onchange="getvalHT(this);"> 

我有這部分工作,但如果用戶選擇正確的時間提交按鈕不會出現。

我是否正確地做了這件事,或者我沒有辦法。

非常感謝您的時間。

+0

是輸入24小時制或12小時制? –

+0

嗨,它的24小時格式 – DCJones

+0

你能發佈你的完整的html代碼嗎? – prasanth

回答

2

問題:if(selectedFromHours < selectedToHours) {從小時小於到小時這樣它的有效但你認爲它是無效的。除非小時數相等,否則你不應該檢查分鐘數。

解決方案:

的邏輯,如果必須改變一個位。

if(selectedFromHours < selectedToHours) {  
    $("#savebutton").show(); // since From hour is smaller don't care about minutes 
} else if(selectedFromHours == selectedToHours && selectedFromMin < selectedToMin){ 
    $("#savebutton").show(); //Hours are same but from minute is smaller - VALID 
}else { 
    $("#savebutton").hide(); // any other condition hide the button 
} 

解釋邏輯

  • if(selectedFromHours < selectedToHours) {:如果從小時是不是那麼小的就沒有必要檢查分鐘。這是有效的
  • else if(selectedFromHours == selectedToHours && selectedFromMin < selectedToMin){:如果From和To Hour等於那麼我們需要檢查Minutes,From分鐘必須小於To分鐘。這是有效的
  • 任何其他條件是無效的