从日期开始比较小于迄今

时间:2013-06-20 14:45:47

标签: javascript jquery html django jquery-validate

Hai我正在开发应用程序django在哪里我想验证fromdate是不是todate.I我使用以下代码,但它不工作

forms.py

class SearchFilterForm(Form):

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;
    }
}

我从日期选择器获取输入,格式为yy-mm-dd。上面的代码在控制台中没有出现任何错误,但它无法正常工作。

3 个答案:

答案 0 :(得分:1)

document.getElementById("id_fromdate")您正在检索节点。你需要的是值

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

然后,您需要比较日期,而不仅仅是.value将检索的字符串。

答案 1 :(得分:1)

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

您需要转换日期值字符串日期对象,然后您可以比较两个日期对象

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

Ex. var d1 = new Date();

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

答案 2 :(得分:0)

试试这个

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