📄 bs_datepicker.class.js
字号:
this.getCurrentDateFormatted = function() {if (this._currentDay == 0) return '';if (this._currentMonth == 0) return '';if (this._currentYear == 0) return '';switch (this.dateFormat) {case 'us':var ret = '';if (this._currentMonth < 10) ret += '0';ret += this._currentMonth + '/';if (this._currentDay < 10) ret += '0';ret += this._currentDay + '/';ret += this._currentYear;return ret;break;case 'eu':var ret = '';if (this._currentDay < 10) ret += '0';ret += this._currentDay + '.';if (this._currentMonth < 10) ret += '0';ret += this._currentMonth + '.';ret += this._currentYear;return ret;break;default:return this._currentDate;}}this.updateInputField = function() {var fld = document.getElementById(this.fieldName);if (fld) {fld.value = this.getCurrentDateFormatted();fld.title = this.getCurrentDateReadable();}}this.updateByInputFieldChange = function() {switch (window.event.keyCode) {case 16:case 35:case 36:case 37:case 38:case 39:case 40:return;}var userVal = document.getElementById(this.fieldName).value;if ((userVal.length == 10) && (this.dateToIsoDate(userVal) != false)) {this.updateByInputFieldBlur();}}this.updateByInputFieldBlur = function() {var fld = document.getElementById(this.fieldName);var userVal = fld.value;if (userVal == this._currentDate) return;if (userVal.length > 0) {newVal = this.dateToIsoDate(userVal);if (newVal == false) {fld.value = ''; alert(this.validateErrorMsgEn.replace(/__VALUE__/, userVal));return;}this._currentDate = newVal, 10;this._currentYear = parseInt(newVal.substr(0, 4), 10);this._currentMonth = parseInt(newVal.substr(5, 2), 10);this._currentDay = parseInt(newVal.substr(8, 2), 10);this.updateInputField();} else {this.seedInternalWithCurrentDate();}var div = document.getElementById(this._objectId + '_div');div.innerHTML = this.renderDatePicker();if (this.useSpinEditForYear) this._convertYearToSpinEdit();}this.dateToIsoDate = function(someDate) {if (someDate.length < 6) return false;if (someDate.length > 10) return false;if (someDate.indexOf('/') >= 0) {var chunks = someDate.split('/');if (chunks.length != 3) return false;var day = parseInt(chunks[1], 10);var month = parseInt(chunks[0], 10);var year = parseInt(chunks[2], 10);} else if (someDate.indexOf('-') >= 0) {var chunks = someDate.split('-');if (chunks.length != 3) return false;var day = parseInt(chunks[2], 10);var month = parseInt(chunks[1], 10);var year = parseInt(chunks[0], 10);} else if (someDate.indexOf('.') >= 0) {var chunks = someDate.split('.');if (chunks.length != 3) return false;var day = parseInt(chunks[0], 10);var month = parseInt(chunks[1], 10);var year = parseInt(chunks[2], 10);} else {return false;}if (year < 100) {if (year < 30) {year += 2000;} else {year += 1900;}}if (year >= 1970) {var tDate = new Date(year, month -1, day);if (day != tDate.getDate()) return false;if (month != (tDate.getMonth() +1)) return false;if (year != this.fixYear(tDate.getYear())) return false;} else {if ((day < 1) || (day > 31)) return false;if ((month < 1) || (month > 12)) return false;if ((year < 1000) || (year > 3000)) return false;}if (day > 28) {if (this.getNumberOfDays(year, month) < day) return false;}var ret = '';ret += year + '-';if (month < 10) ret += '0';ret += month + '-';if (day < 10) ret += '0';ret += day;return ret;}this.updateByDay = function(day) {try {var oldTd = document.getElementById(this._objectId + '_td' + this._currentDay);oldTd.style.backgroundColor = this.dayBgColor;oldTd.style.color = this.dayFontColor;} catch (e) {}var oldTd = document.getElementById(this._objectId + '_td' + day);oldTd.style.backgroundColor = this.dayBgColorActive;oldTd.style.color = this.dayFontColorActive;this._currentDay = parseInt(day, 10);this.updateCurrentDate();this.updateInputField();}this.updateByMonth = function() {var tmp = new Bs_FormFieldSelect();var monthSelect = document.getElementById(this._objectId + '_month');tmp.init(monthSelect);this._currentMonth = parseInt(monthSelect.getValue(), 10);this.updateCurrentDate();this.updateInputField();this.updateDayTable();}this.updateByYearChange = function() {var tmpYear = parseInt(document.getElementById(this._objectId + '_year').value, 10);if ((tmpYear < 2100) && (tmpYear > 1800)) {this.updateByYearBlur();}}this.updateByYearBlur = function() {var tmpYear = parseInt(document.getElementById(this._objectId + '_year').value, 10);this._currentYear = tmpYear;this.updateCurrentDate();this.updateInputField();this.updateDayTable();}this.updateCurrentDate = function() {if ((0 == this._currentYear) &&(0 == this._currentMonth) &&(0 == this._currentDay) ) {this._currentDate = "";} else {this._currentDate = this._currentYear + '-';if (this._currentMonth < 10) this._currentDate += '0';this._currentDate += this._currentMonth + '-';if (this._currentDay < 10) this._currentDate += '0';this._currentDate += this._currentDay;}}this.toggleSelector = function() {var div = document.getElementById(this._objectId + '_div');if (div.style.display == 'none') {div.style.display = 'block';var inputField = document.getElementById(this.fieldName);if (inputField.offsetLeft > div.offsetLeft) {div.style.marginLeft = inputField.offsetLeft + 'px';}var newChar = '-';if (this.useSpinEditForYear) {var objName = this._objectId + '_yObj';eval(objName + '.redraw();');}this.toggleButton.setTitle('Hide Calendar');} else {div.style.display = 'none';var newChar = '+';this.toggleButton.setTitle('Show Calendar');}}this.dayMouseOver = function(day) {var td = document.getElementById(this._objectId + '_td' + day);if (td.style.backgroundColor.toLowerCase() == this.dayBgColor.toLowerCase()) {td.style.backgroundColor = this.dayBgColorOver;}}this.dayMouseOut = function(day) {var td = document.getElementById(this._objectId + '_td' + day);if (td.style.backgroundColor.toLowerCase() == this.dayBgColorOver.toLowerCase()) {td.style.backgroundColor = this.dayBgColor;}}this.isLeapYear = function(year) {return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));}this.getNumberOfDays = function(year, month) {switch (month) {case 2:if (this.isLeapYear(year)) return 29;return 28;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;break;default:return 30;}}this._convertYearToSpinEdit = function() {var objName = this._objectId + '_yObj';var myNf = new Bs_NumberField(this._objectId + '_year');eval(objName + ' = myNf;');myNf.buttonUp.imgPath = this.jsBaseDir + 'components/numberfield/img/';myNf.buttonDown.imgPath = this.jsBaseDir + 'components/numberfield/img/';myNf.minValue = 1800;myNf.maxValue = 2300;myNf.attachEvent('onAfterChange', 'Bs_Objects['+this._id+'].updateByYearBlur();');myNf.draw();}this._constructor();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -