この質問は他の質問と非常によく似ていますが、正確ではないため、慎重に従ってください。
誕生日などのフィールドで datePicker を使用しています。範囲を過去の日付のみに制限しています。日付を確認する必要があります。入力は読み取り専用ではなく、そうであってほしくありません。
$(element).datepicker({
dateFormat: dateFormat,
changeMonth: true,
changeYear: true,
yearRange: "1900:2050",
maxDate: new Date,
constrainInput: "true",
currentText:"Today",
showButtonPanel: true,
onClose: function (dateText, inst){
dPickerDate=$('#'+this.id).datepicker("getDate");
pDate=$.datepicker.formatDate(dateFormat, dPickerDate);
if(dateText!=pDate)
{
$('#errorFor'+this.id).removeClass("hidden");
}
else
{
//do some calculations to save the date... for internal purposes
}
});
アイデアは、入力された日付が日付ピッカーで選択可能かどうかを確認することです-そうでない場合は無効であることを意味します。検証目的では問題なく動作します。
問題は、datePicker を使用すると、日付範囲外の日付を入力できることです。fireBug でデバッグすると、datePicker の値が実際には無効な将来の日付であることがわかりますが、datePicker に選択されたとおりに表示されません。
何か案は?前もって感謝します :)