0

嗨,我正在使用 safecracker 在表达式引擎中制作一个表单,我的一个名为“出生日期”的字段使用日期字段类型。jQuery datapicker 由表达式引擎自动添加,但我看不到如何添加任何选项或格式,我通常会在创建此类字段时添加到 datepicker。

我的正常代码:

 $(function() {
    $( "#datepicker" ).datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: 'dd/mm/yy',
        maxDate: new Date()
    });
 });

我能想到的唯一选择是将此字段设置为文本输入并自己在模板中添加日期选择器,但这会删除它在此字段类型上执行的 EE 日期验证。

是否有向此字段类型添加额外的日期选择器选项?

4

1 回答 1

2

好吧,您可以datepicker="no"Safecracker 标记中设置,然后手动添加您的 javascript。但是:您不能使用上面显示的自定义格式-对于要验证为本地 EE 日期字段的输入,它必须使用 datePicker 格式yy-mm-dd加上格式中的当前时间HH:MM AM/PM- datePicker 本身不这样做. (请参阅 EE 的一位开发人员的这篇文章,了解他们是如何做到这一点的。)

另一种方法是使用 EEvent Helper 日期字段,因为它不需要时间部分来验证(尽管它也需要yy-mm-dd)。但是,datepicker="no"仅影响本机日期字段,因此您必须设置safecracker_head="no"- 但是您也会丢失表单中其他字段类型所需的任何 javascript 或 CSS。

回复:使用纯文本字段:除了验证问题之外,您的数据将被存储为输入的任何内容(mm/dd/yy),而不是被转换为时间戳,这更加有用和便携。

唯一真正的解决方案是为此编写您自己的日期字段类型。不会很困难。

于 2012-10-08T13:03:16.067 回答