2013-06-20 75 views
1

海我正在開發的應用程序的Django凡在我想驗證沒有fromdate小於todate.I現在用的是下面的代碼,但它不工作從日期比較小於迄今爲止

forms.py

類SearchFilterForm(表格):

fromdate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'})) 
todate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'})) 

的javascript:

function comparedate(){ 
     var fromdate = document.getElementById("id_fromdate"); 
     var todate = document.getElementById("id_todate"); 
     if(fromdate<todate){ 
      alert("Start date should be less than end date"); 
     return false; 
    } 
} 

我GETT來自日期選擇器的輸入和格式是yy-mm-dd。上面的代碼在控制檯中沒有給出任何錯誤,但它不起作用。

回答

1

document.getElementById("id_fromdate")您正在檢索節點。你需要的是價值

var fromdate = document.getElementById("id_fromdate").value; 
var todate = document.getElementById("id_todate").value; 

然後,你需要比較的日期,而不僅僅是.value將檢索的字符串。

+0

謝謝您的回答。 –

+0

不客氣。 – karthikr

1
var fromdate = document.getElementById("id_fromdate").value; 
var todate = document.getElementById("id_todate").value; 

你需要轉換的日期值的字符串Date對象,那麼你可以比較兩個日期對象

http://www.w3schools.com/jsref/jsref_obj_date.asp

Ex. var d1 = new Date(); 

var d2 = new Date(); 
if(+d1>+d2) 
0

試試這個

if (Date.parse(fromDate) > Date.parse(toDate)) { 
alert("Invalid Date Range!\nStart Date cannot be after End Date!") 
return false; 
}