【问题标题】:compare from date is less than to date从日期比较小于到日期
【发布时间】:2013-06-20 14:45:46
【问题描述】:

嘿,我正在开发应用程序 django,我想验证 fromdate 是否小于 todate。我正在使用以下代码,但它不起作用

forms.py

类 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。上面的代码在控制台中没有给出任何错误,但它不起作用。

【问题讨论】:

    标签: javascript jquery html django jquery-validate


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:
      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)
      

      【讨论】:

        【解决方案3】:

        试试这个

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

        【讨论】:

          猜你喜欢
          • 2017-02-08
          • 1970-01-01
          • 1970-01-01
          • 2014-06-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-20
          • 2019-03-07
          相关资源
          最近更新 更多