]> source.dussan.org Git - jquery-ui.git/commitdiff
Datepicker: Corrected automatic parsing of date on keystrokes
authorKeith Wood <kbwood.au@gmail.com>
Tue, 15 Dec 2009 04:00:17 +0000 (04:00 +0000)
committerKeith Wood <kbwood.au@gmail.com>
Tue, 15 Dec 2009 04:00:17 +0000 (04:00 +0000)
ui/jquery.ui.datepicker.js

index f1c05a02a85603dc804788db733ce8792f18b151..2e191355f04e96a9ede41078c209ff43b9796b9f 100644 (file)
@@ -552,18 +552,20 @@ $.extend(Datepicker.prototype, {
        /* Synchronise manual entry and field/alternate field. */
        _doKeyUp: function(event) {
                var inst = $.datepicker._getInst(event.target);
-               try {
-                       var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),
-                               (inst.input ? inst.input.val() : null),
-                               $.datepicker._getFormatConfig(inst));
-                       if (date) { // only if valid
-                               $.datepicker._setDateFromField(inst);
-                               $.datepicker._updateAlternate(inst);
-                               $.datepicker._updateDatepicker(inst);
+               if (inst.input.val() != inst.lastVal) {
+                       try {
+                               var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),
+                                       (inst.input ? inst.input.val() : null),
+                                       $.datepicker._getFormatConfig(inst));
+                               if (date) { // only if valid
+                                       $.datepicker._setDateFromField(inst);
+                                       $.datepicker._updateAlternate(inst);
+                                       $.datepicker._updateDatepicker(inst);
+                               }
+                       }
+                       catch (event) {
+                               $.datepicker.log(event);
                        }
-               }
-               catch (event) {
-                       $.datepicker.log(event);
                }
                return true;
        },
@@ -1202,7 +1204,8 @@ $.extend(Datepicker.prototype, {
        /* Parse existing date and initialise date picker. */
        _setDateFromField: function(inst) {
                var dateFormat = this._get(inst, 'dateFormat');
-               var dates = inst.input ? inst.input.val() : null;
+               inst.lastVal = inst.input ? inst.input.val() : null;
+               var dates = inst.lastVal;
                var date, defaultDate;
                date = defaultDate = this._getDefaultDate(inst);
                var settings = this._getFormatConfig(inst);