2

C# Web ページを使用して、ASP.NET に StartDate と EndDate があります。ユーザーが開始日を入力すると、ユーザーが終了日を変更するまで、これを終了日にコピーしたいと思います。どうすればそれができるのでしょうか。私が持っているコードは以下のとおりです

<asp:PlaceHolder ID="m_eventform" runat="server" Visible="true">
<script type="text/javascript">
    $(function () {
        $('#<%= m_eventDate.ClientID %>').datepick({ dateFormat: 'yyyy-mm-dd' });
        $('#<%= m_eventEndDate.ClientID %>').datepick({ dateFormat: 'yyyy-mm-dd' });
    });
</script>
<form id="eventForm" runat="server">

<div class="formrow">
    <label>
      Start Date</label>
    <asp:TextBox ID="m_eventDate" runat="server" />
    <asp:RequiredFieldValidator ID="m_eventDateRequired" runat="server" ControlToValidate="m_eventDate"
        ErrorMessage="Please enter a start date" Display="Dynamic" />
    <asp:RegularExpressionValidator ID="m_eventDateReg" runat="server" ValidationExpression="^\d{4}[\-]?((((0[13578])|(1[02]))[\-]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-]?(([0-2][0-9])|(30)))|(02[\-]?[0-2][0-9]))$"
        ControlToValidate="m_eventDate" Display="Dynamic" ErrorMessage="Please enter the date in YYYY-MM-DD format" />
</div>

  <div class="formrow">
    <label>
        End Date</label>
    <asp:TextBox ID="m_eventEndDate" runat="server" />
    <asp:RequiredFieldValidator ID="m_eventEndDateRequired" runat="server" ControlToValidate="m_eventEndDate"
        ErrorMessage="Please enter an end date" Display="Dynamic" />
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="^\d{4}[\-]?((((0[13578])|(1[02]))[\-]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-]?(([0-2][0-9])|(30)))|(02[\-]?[0-2][0-9]))$"
        ControlToValidate="m_eventEndDate" Display="Dynamic" ErrorMessage="Please enter the date in YYYY-MM-DD format" />
</div>


</form>

4

2 に答える 2

0

マークアップを次のように変更します。

<asp:TextBox ID="m_eventDate" runat="server" onblur="copyDate();" />

次に、この JavaScript を追加します。

function copyDate() {
    $('#<%= m_eventEndDate.ClientID %>').val($('#<%= m_eventDate.ClientID %>').val);
}

おすすめ

ClientIDMode.NET 4.0 を使用している場合は、テキスト ボックスの新しいプロパティを利用することをお勧めします。次のように設定できます。

<asp:TextBox ID="m_eventDate" runat="server" ClientIDMode="Static" />

JavaScript では、代わりに次のように参照できます。

$('#m_eventDate') ...

idネーミングコンテナによってサーバー側で変更されないためです。

于 2013-07-17T15:54:13.100 に答える