Member 11781455 Ответов: 1

Нужно взять дату из webdatechooser в формате javascript"dd/MM/yyyy"


Всем Привет,

У меня есть WebDateChooser на странице Aspx, чтобы принимать даты. Там 2 WebDatechooser один для FROMDATE, а другой для TODATE. Мне нужно по клику или по правке проверять эти даты друг у друга.Состояние от дата не может быть более современной и обновленной не может быть меньше Fromdate. Для этого нужно использовать 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#

<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">

1 Ответов

Рейтинг:
9

Member 11781455

JS
функция ValidateRequestedDate() {
// отладчик;
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 должно быть больше, чем From Date";
ShowMessage(Сообщение);
wdcvalidTo. setValue(");
возвращать false;
}
}

}
С#

&ЛТ;igmisc:webasyncrefreshpanel идентификатор="warFromDate" атрибут runat="сервер" ширина="300%"&ГТ;
&ЛТ;igsch:webdatechooser идентификатор="wdcFromDate" атрибут runat="сервер" ширина="100 Пикс"и GT;
< clientsideevents valuechanged= "ValidateRequestedDate ();" >

Для проверки на даты, такие как From Date & todate, нет необходимости преобразовывать их в определенный формат, просто используйте приведенный выше код.