我使用的是asp.net,我有一个gridview,在gridview里面我有一个页脚模板。在页脚模板中。
<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>
我有一个类似以下的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>
当日历返回并且用户按下添加按钮时,验证组会检查用户是否选择了日期..如果用户在里面输入日期并单击ADD没有任何反应,但是如果我删除了requirefieldvalidator它就有效...
使用jquery datepicker的requiredfield验证器有什么问题吗?如何解决这个问题。
答案 0 :(得分:4)
我自己也遇到了这个问题。我发现了这个错误报告(link)
以下是两个解决方法。
为datepicker
的onSelect事件注册一个空处理程序$(".myDatePickerClass").datepicker({onSelect: function() {}})
或者
将EnableClientScript =“false”添加到验证器
<asp:RequiredFieldValidator runat="server" EnableClientScript="false"...
答案 1 :(得分:0)
这对我有用。我希望它对你也有帮助。
$(function () {
$("#<%= txtSendDate.ClientID %>").datepicker({
onSelect: function (dateText, inst) { }
});
});