验证时防止压光机控制打开

时间:2019-04-10 06:25:14

标签: javascript jquery asp.net validation calendar

我想在验证触发时阻止保存按钮上的打开日历控件,我找不到如何阻止它的方法

我有一个日历控件,选择日期验证后会在保存按钮上激活,验证后它将直接关注日历控件并自动打开日历,企业不想打开日历控件

HTML

<div class="col-lg-3 col-md-4 col-sm-6">
           <div class="form-group datepicker">
                   <label>Project Start Date </label>
                       <asp:TextBox ID="ProjectStartDate" TabIndex="27" ClientIDMode="Static" runat="server" CssClass="form-control"></asp:TextBox>
                        <asp:HiddenField ID="hdnProjectStartDate" runat="server" Value="" />
            </div>
 </div>


enter image description here

我要防止在保存按钮上打开日历
让我知道那里是否有解决方案

谢谢

2 个答案:

答案 0 :(得分:1)

我已解决此问题,以在 formValidation.JS 中进行更改
此文件中有一个功能

      // Determined the first invalid field which will be focused on automatically
        var ns = this._namespace;
        for (var i = 0; i < this.$invalidFields.length; i++) {
            var $field    = this.$invalidFields.eq(i),
                autoFocus = this.isOptionEnabled($field.attr('data-' + ns + '-field'), 'autoFocus');
            if (autoFocus) {
                // Focus the field 
                //$field.focus();                    
                return false;
                break;
            }
        }

在验证时,它将自动聚焦该元素,并且在聚焦日历控制后 由于焦点自动打开

注释此行以防止关注日历控制

 $field.focus();    

谢谢!!

答案 1 :(得分:0)

您使用什么日历或日期选择器控件? jQuery UI,Telerik AJAX,Control Toolkit AJAX,Kendo?

对于一般的ASP.NET验证方案,文本框不会自动聚焦。您需要将以下属性设置为True,以明确地做到这一点:

  

SetFocusOnError =“ true”

                <asp:TextBox runat="server" ID="ProjectStartDate"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="* Required"
                    ForeColor="Red" ControlToValidate="ProjectStartDate" SetFocusOnError="false">
                </asp:RequiredFieldValidator>
                <asp:Button ID="Button1" runat="server" Text="Submit" />

您可以在代码后面检查是否在某处定义了此属性。