我正在使用这个MooTools日期选择器。
如何使用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]
。
此日期选择器有不同版本。有些输出UNIX,有些则不输出。
要从输入字段/datepicker中获取值,如果您有id,您可以使用$('mydatepicker').value
或document.id('mydatepicker').value
,或者像您描述的那样使用纯javascript。检查您获得的值$('mydatepicker').value是否已经是UNIX。否则,您可以解析日期。
如果输入值中没有UNIX时间戳,可以使用将日期转换为它
var unix = new Date(this.value).format('%s');
在选项中(如果没有UNIX时间戳),还可以添加inputOutputFormat: 'U',
以指定UNIX应为输入字段的值(某些版本将其作为默认值)。此输入字段是隐藏的,因为日期选择器会创建您所看到的克隆。但这个隐藏字段是html标记中的字段,也是ID为的字段
查看此演示,更改日期并查看控制台。
DatePicker选项:
-
format-是一种可见的日期格式。不影响实际输出当您的表格提交时
-
inputOutputFormat-定义原始的输入值datepicker输入元素被解释(默认值U是Unix时间戳)
-
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
相同)一起使用