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")));
}
});
}
今、私は別のタイプの問題を抱えています。「非表示フィールドを検証できません」というエラーが発生するため、HiddenFieldにRequiredFieldValidatorを使用できません。
CustomValidatorを試していますが、問題は、ControlToValidateが空でない場合にのみこのコントロールが機能することです。
RequiredFieldValidatorのすべてのプロパティを確認しましたが、 ClientValidationFunctionプロパティのようなものが表示されません。
その問題を解決する方法について何か提案はありますか?