0

私のfromdatepicker1とtodatepicker2。2つの日付範囲を検証したい。常に fromdate is < todate になります。私の日付形式は dd/mm/yy ですが、Jquery でどのように記述すればよいですか?

ここに私の開始日テキストボックスがあります

<asp:RequiredFieldValidator ControlToValidate="txtFromDateBank" 
                        ID="RequiredFieldValidator9" runat="server" Display="Dynamic" 
                        ErrorMessage="asdf" SetFocusOnError="true" InitialValue="" 
                        EnableClientScript="true" Font-Italic="True" Font-Size="Smaller" 
                        ForeColor="Red" ValidationGroup="AddBankDetails">Please specify date</asp:RequiredFieldValidator>
                </div>

ここに私の今日のテキストボックスがあります

<asp:TextBox ID="txtToDateBank" runat="server"  class="datepicker"></asp:TextBox>
4

2 に答える 2

0

これらのツールを試してください

http://jqueryui.com/demos/datepicker/

于 2012-09-26T03:08:58.043 に答える
0

CustomeValidator コントロールを使用し、ClientValidationFunction プロパティを javascript/jquery 関数に設定します。js関数は次のようになります-

<script language="JavaScript">
<!--
function CheckDate(sender, args)
{
    var strDate = $(fromdatetextbox).val();
    var dateParts = strDate.split("/"); 
    var fromdate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

    strDate = $(todatetextbox).val();
    dateParts = strDate.split("/"); 
    todate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

    if(fromdate > todate)
        args.IsValid = false;
    else
        args.IsValid = true;
}
// -->
</script>

このリンクで customvalidator の詳細を確認できます http://www.4guysfromrolla.com/articles/073102-1.aspx

アップデート

完全なコードは次のようになります

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs"   Inherits="Default2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    <!--
    function CheckDate(sender, args) {
        var strDate = $('#<%= textBoxFromDate.ClientID %>').val();
        var dateParts = strDate.split("/");
        var fromdate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

        strDate = $('#<%= textBoxToDate.ClientID %>').val();
        dateParts = strDate.split("/");
        todate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

        if (fromdate > todate)
            args.IsValid = false;
        else
            args.IsValid = true;
    }
    // -->
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="textBoxFromDate" runat="server" Text=""></asp:TextBox>
            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator"
            ControlToValidate="textBoxFromDate" ClientValidationFunction="CheckDate"></asp:CustomValidator>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"
            ControlToValidate="textBoxFromDate"></asp:RequiredFieldValidator>


            <asp:TextBox ID="textBoxToDate" runat="server" Text=""></asp:TextBox>
            <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="CustomValidator"
            ControlToValidate="textBoxToDate" ClientValidationFunction="CheckDate"></asp:CustomValidator>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="RequiredFieldValidator"
            ControlToValidate="textBoxToDate"></asp:RequiredFieldValidator>
        </div>
    </form>
</body>
</html>
于 2012-09-26T04:41:17.540 に答える