我在 Jquery 创建日期选择器的页面上添加了文本框。问题是,文本框在回发后不保存该值。经过研究,我发现以下解决方案非常有效,即文本框在回发后保持其值。
<th>
<asp:CustomValidator ID="customStartDate" runat="server"
ErrorMessage="Start Date" Display = "None" ControlToValidate = "txtStartDate"
ValidationGroup ="HireGroup" ClientValidationFunction ="StartDate_Validate"/>
Start Date:
</th>
<td>
<asp:TextBox ID="txtStartDate" runat="server" Width = "140" ReadOnly = "true"
TabIndex = "5" CssClass = "datepicker" ></asp:TextBox>
<asp:HiddenField ID="hfDatePicker" runat="server"/>
</td>
这是Jquery代码
//Set datePicker
function SetUpDatePicker() {
var $allDatepickers = $('.datepicker');
$.each($allDatepickers, function () {
$(this).datepicker({
showOn: "button",
buttonImage: "Images/calendar.gif",
buttonImageOnly: true,
minDate: 1,
altField: '[id*="hfDatePicker"]'
});
var $hfDatePicker = $('[id*="hfDatePicker"]');
var val = $($hfDatePicker).attr('Value');
$(this).val(val);
var len = $($hfDatePicker).attr('Value').length;
if (len > 0) {
$(this).datepicker("setDate", new Date($($hfDatePicker).attr("Value")));
}
});
}
现在我有一个不同类型的问题。我无法将 RequiredFieldValidator 用于 HiddenField,因为我收到错误“无法验证隐藏字段”。
我正在尝试使用 CustomValidator,但问题是该控件仅在ControlToValidate不为空时才起作用。
我检查了RequiredFieldValidator 的所有属性,没有看到类似ClientValidationFunction属性的东西。
关于如何解决该问题的任何建议?