我想在验证触发时阻止保存按钮上的打开日历控件,我找不到如何阻止它的方法
我有一个日历控件,选择日期验证后会在保存按钮上激活,验证后它将直接关注日历控件并自动打开日历,企业不想打开日历控件
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>
我要防止在保存按钮上打开日历
让我知道那里是否有解决方案
谢谢
答案 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" />
您可以在代码后面检查是否在某处定义了此属性。