正在获取MooTools日期选择器的价值



我正在使用这个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').valuedocument.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相同)一起使用

最新更新