简体   繁体   English

Jquery DatePicker和必需的字段验证器

[英]Jquery DatePicker and required field validator

I am using asp.net and I have a gridview and inside gridview I have a footer template. 我正在使用asp.net,我有一个gridview和gridview内部我有一个页脚模板。 In footer template. 在页脚模板中。

  <FooterTemplate>
                        <asp:ImageButton ID="imgbtnAddxxxx" runat="server" CommandName="Insert" ImageUrl="/Style%20Library/Images/add.png" ToolTip="New Record" ValidationGroup="GridViewFooterRowGroup" />
                        </FooterTemplate>

<asp:TemplateField HeaderText="Needed-By">
                        <EditItemTemplate>
                          <asp:TextBox ID="txtNeededBy" runat="server" Text='<%#Eval("NeedBy") %>' BackColor="LightSkyBlue" ForeColor="Black" ReadOnly="true"/>
                          <asp:RequiredFieldValidator ID="reditNeededBy" runat="server" ControlToValidate="txtNeededBy" Text="*" Display="Dynamic" ValidationGroup="GridViewDataRowGroup" />
                        </EditItemTemplate>

                        <ItemTemplate>
                           <asp:Label ID="lblNeededBy" runat="server" Text='<%#Eval("NeedBy") %>'/>
                        </ItemTemplate>

                        <FooterTemplate>
                        <asp:TextBox ID="txtftrNeededBy" runat="server" onchange="abc();" />
                         <asp:RequiredFieldValidator ID="rfvNeededBy" runat="server" ControlToValidate="txtftrNeededBy" Text="*" Display="Dynamic" ValidationGroup="GridViewFooterRowGroup" />
                        </FooterTemplate>

                     </asp:TemplateField>

I have a jquery code like the following to show calendar pickup. 我有一个类似下面的jquery代码来显示日历拾取。

<script type="text/javascript">
    $(function () {
        BindEvents();
    });

    $(function () {
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_endRequest(function () {
            BindEvents();
        });
    });

    function BindEvents() {

        var $ = jQuery.noConflict();

        $('input[id*="txtftrNeededBy"]').datepicker({
            dateFormat: 'dd-M-y', changeMonth: true, minDate: 0,
            onSelect: function () { },
            onClose: function (dateText) {
                var txt = $("#<%=hdnNeedByDate.ClientID%>");
                txt.val(dateText);
            }
        });


        $('input[id*="txtNeededBy"]').datepicker({
            dateFormat: 'dd-M-y', changeMonth: true, minDate: 0,
            onSelect: function () { },
            onClose: function (dateText) {
                var txt = $("#<%=hdnNeedByDate.ClientID%>");
                txt.val(dateText);
            }
        });

        $('input[id*="txtftrQty"]').autoNumeric({ aSep: '', vMax: '999999', vMin: '0', wEmpty: 'zero', mDec: null });
        $('input[id*="txtQty"]').autoNumeric({ aSep: '', vMax: '999999', vMin: '0', wEmpty: 'zero', mDec: null });
    } 
</script>

When calender returns and user press Add button the validation group shud check if user has selected the date or not..if user enters date inside and click on ADD nothing happens but if i delete requirefieldvalidator it works... 当日历返回并且用户按下添加按钮时,验证组会检查用户是否选择了日期..如果用户在里面输入日期并单击ADD没有任何反应,但如果我删除requirefieldvalidator它可以工作...

is there any issue with requiredfield validator with jquery datepicker? 使用jquery datepicker的requiredfield验证器有什么问题吗? how to fix this. 如何解决这个问题。

I just ran into this problem myself. 我自己也遇到了这个问题。 I found this bug report (link) 我发现了这个错误报告(链接)

Here are two workarounds. 这是两个解决方法。

Register an empty handler for the onSelect event of the datepicker 为datepicker的onSelect事件注册一个空的处理程序

$(".myDatePickerClass").datepicker({onSelect: function() {}})

Or 要么

Add EnableClientScript="false" to your validator 将EnableClientScript =“false”添加到验证器

<asp:RequiredFieldValidator runat="server" EnableClientScript="false"...

This worked for me. 这对我有用。 I hope it helps you too. 我希望它对你也有帮助。

        $(function () {

        $("#<%= txtSendDate.ClientID %>").datepicker({
            onSelect: function (dateText, inst) { }
        });


    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM