trentrichardson / jQuery-Timepicker-Addon

Adds a timepicker to jQueryUI Datepicker
http://trentrichardson.com/examples/timepicker/
MIT License
2.66k stars 1.05k forks source link

Fix issue with lowercase amNames selector format #779

Closed fambonomi closed 9 years ago

fambonomi commented 9 years ago

Lowercase amNames selectors ignored and interpreted as PM because of an error in the am selector recognition logic, line 1238, jquery-ui-timepicker-addon.js This error causes inadvertent change of, for instance, 10 a.m. to 10 p.m. If the user didn't intend to change the date/time in the first place (just oppened and closed the selector) this error can cause the form to be sent with the wrong time. Also note that amNames[0], which is used when wring back to the field is usually in lowercase for i18n files. Fix: Using the same transformation (toUpperCase) in both sides preserves the equality.

Original:

                    ampm = $.inArray(treg[order.t].toUpperCase(), o.amNames) !== -1 ? 'AM' : 'PM';

Proposed:

                    ampm = $.inArray(treg[order.t].toUpperCase(), o.amNames.toUpperCase()) !== -1 ? 'AM' : 'PM';
trentrichardson commented 9 years ago

Thanks for the fix. I merged it with the dev branch.