我正在使用此MooTools datepicker。
如何使用JavaScript获取当前值(Unix TS或日期)?
我的代码是:
window.addEvent('load', function() {
new DatePicker('.demo_vista', {
pickerClass: 'datepicker_vista',
format: 'm/d/Y',
allowEmpty: true,
toggleElements: '.date_toggler'
});
});
我已尝试过标准getElementById('mydatepicker').value
,但我每次都会获得[object NodeList]
。
答案 0 :(得分:1)
此datepicker有不同版本。有些输出UNIX没有。
从输入字段/ datepicker获取值,如果您有id,则可以使用$('mydatepicker').value
或document.id('mydatepicker').value
,或者您所描述的普通javascript。检查你得到的值$('mydatepicker')。值是否已经是UNIX。否则你可以解析日期。
如果输入值中没有UNIX时间戳,您可以使用以下命令将日期转换为它:
var unix = new Date(this.value).format('%s');
在选项中(如果没有获得UNIX时间戳),您还可以添加inputOutputFormat: 'U',
以指定UNIX应该是输入字段的值(某些版本默认使用此值)。此输入字段是隐藏的,因为datepicker会创建一个您看到的克隆。但是这个隐藏字段是html标记中的字段,因此是ID。
选中 demo ,更改日期并查看控制台。
答案 1 :(得分:0)
DatePicker选项:
格式 - 是一种可见的日期格式。不影响实际输出 提交表单时
inputOutputFormat - 定义原始输入值的方式 解释了datepicker输入元素(默认值U是a Unix-timestamp)
onSelect - 选择日期时触发事件挂钩
new DatePicker('.demo_vista', {
pickerClass: 'datepicker_vista',
format: 'm/d/Y',
inputOutputFormat: 'm/d/Y',
allowEmpty: true,
toggleElements: '.date_toggler',
onSelect: function( date ) {
alert( date );
alert( $('mydatepicker').value );
}
});
除非您定义inputOutputFormat选项,否则表单的默认输出将是Unix时间戳,并且该值可以与$('mydatepicker').value
一起使用(与document.getElementById('mydatepicker').value
相同)