我有一个文本字段,可在单击时打开日期选择器。我希望datepicker关闭onblur,并且在关闭datepicker而不选择日期之后,我在字段中得到“未定义”。
我正在使用MooTools,因此我没有找到任何不使用jQuery进行尝试的东西。我确实尝试过document.getElementById('datepicker').close()
及其各种变体,但是没有运气。
如果我选择一个日期,则一切正常。如果用户不选择其他日期,我希望该日期保持不变。
这是日期选择器:
<td>
<input style="background-color: transparent; border: none;" type="text"
data-row-id="0" id="date[0]" name="connectedjob[0][orderDate]"
onblur="reformatDate(this.value, this.id)" value="Dec 16, 2015"
class="datefield orderDate" size="10">
</td>
以下是日期选择器的onclick事件:
$(document.body).addEvent("click:relay(orderDate)", function (e, el) {
try {
e.preventDefault();
$('orderDate').attr('type') === 'text' ? $('orderDate').attr('type', 'date') : $('orderDate').attr('type', 'text');
} catch (e) {
.
.
}
});
下面是重新设置日期模糊的代码:
function reformatDate(date, id) {
var datePick = document.getElementById('orderDate');
if (date !== '') {
var month = date.substr(0, 2);
if (month.includes('0')) {
month = month.substr(1, 1).toInt();
}
var day = date.substr(3, 2);
if (day.includes('0')) {
day = day.substr(1, 1).toInt();
}
var year = date.substr(6, 4);
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
document.getElementById(id).value = monthNames[month - 1] + ' ' + day + ', ' + year;
datePick.close();
}
}
有没有办法使用JavaScript / MooTools而不是jQuery?