Click here to Skip to main content
15,900,906 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
Hi All,

I have a WebDateChooser in Aspx page to take Dates. There 2 WebDatechooser One for FROMDATE and other For TODATE. I need On click or on edit check those dates each other.Condition From date can't be greater than Todate and Todate Can't be less than Fromdate. Need to use Javascript for This purpose.I tried one method. Any Easy ways.??

What I have tried:

JavaScript
var fromDate = "";
var ToDate = "";
function GetFromDate(FromDate) {
    fromDate = FromDate.getValue().format('dd/MM/yyyy');
    ToDate = document.getElementById(document.getElementById("hdnToDate").value).value;
    if (ToDate != "") {
        var d = ToDate.slice(0, 10).split('-');
        if (d[1].length == 1)
            d[1] = '0' + d[1];
        if (d[2].length == 1)
            d[2] = '0' + d[2]; 
        ToDate = d[2] + '/' + d[1] + '/' + d[0]; // 30/12/2010
        if (ValidateDates(fromDate, ToDate)) {
            ShowMessage($("#hdnTodaeFromDateMessage").val());
            FromDate.setValue();
        }
    }
}

function GetToDate(selectedDate) {
    ToDate = selectedDate.getValue().format('dd/MM/yyyy');
    fromDate = document.getElementById(document.getElementById("hdnFromDate").value).value;// "2016-9-5"
    if (fromDate != "") {
        var d = fromDate.slice(0, 10).split('-');
        if (d[1].length == 1)
            d[1] = '0' + d[1];
        if (d[2].length == 1)
            d[2] = '0' + d[2]; 
        fromDate = d[2] + '/' + d[1] + '/' + d[0]; // 05/09/2016
        if (ValidateDates(fromDate, ToDate)) {
            ShowMessage($("#hdnTodaeFromDateMessage").val());
            selectedDate.setValue();
        }
    }
}
function ValidateDates(fromDate, ToDate) {
    var flag = false;
    var fromDatestr = fromDate;
    var dt1 = fromDatestr.substring(0, 2);
    var mon1 = fromDatestr.substring(3, 5);
    var yr1 = fromDatestr.substring(6, 10);

    var ToDatestr = ToDate;
    var temp2 = "";
    var dt2 = ToDatestr.substring(0, 2);
    var mon2 = ToDatestr.substring(3, 5);
    var yr2 = ToDatestr.substring(6, 10);
    if (yr1 > yr2) {
        flag = true;
    }
    if (yr1 == yr2 && mon1 > mon2) {
        flag = true;
    }
    else if (yr1 == yr2 && mon1 == mon2 && dt1 > dt2) {
        flag = true;
    }
    return flag;
}



C# code

ASP.NET
<igmisc:webasyncrefreshpanel id="warFromDate" runat="server" width="300%">
    <igsch:webdatechooser id="wdcFromDate" runat="server" width="100px">
        <clientsideevents valuechanged="GetFromDate">
    


<igmisc:webasyncrefreshpanel id="warToDate" runat="server" width="300%">
    <igsch:webdatechooser id="wdcToDate" runat="server" width="100px">
        <clientsideevents valuechanged="GetToDate">
Posted
v2

1 solution

JS
function ValidateRequestedDate() {
// debugger;
var wdcvalidFrom = igdrp_getComboById(document.getElementById('hdnFromDate').value);
var wdcvalidTo = igdrp_getComboById(document.getElementById('hdnToDate').value);
if (wdcvalidTo.getValue() != "") {
if (wdcvalidTo.getValue() < wdcvalidFrom.getValue()) {
var Message = "To Date Must Be Greater Than From Date";
ShowMessage(Message);
wdcvalidTo.setValue('');
return false;
}
}

}
C#

<igmisc:webasyncrefreshpanel id="warFromDate" runat="server" width="300%">
<igsch:webdatechooser id="wdcFromDate" runat="server" width="100px">
<clientsideevents valuechanged="ValidateRequestedDate();">

For checking to dates Like From Date & todate No need to convert that into a particular format just use above Code.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900