php - 表达式引擎 SafeCracker 格式日期选择器

标签 php javascript datepicker expressionengine safecracker

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

我的正常代码:

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

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

是否可以向此字段类型添加其他日期选择器选项?

最佳答案

那么,您可以在 Safecracker tag 中设置 datepicker="no" ,然后手动添加您的 javascript。但是:您不能使用上面所示的自定义格式 - 要使输入验证为 native EE 日期字段,它必须使用 datePicker 格式 yy-mm-ddplus 格式为 HH:MM AM/PM 的当前时间 - datePicker 本身并不这样做。 (See this post by one of EE's developers 了解他们是如何做到这一点的。)

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

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

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

关于php - 表达式引擎 SafeCracker 格式日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781715/

相关文章:

javascript - 将 Dynamic Attr() 添加到 d3.tip

javascript - JQuery 日期选择器 : how to deny it using my css

php - 进行 URL 重写

php - MySQL查询错误

javascript - 为什么缓冲区复制会打印一些垃圾值?

jquery - datepicker - 错误 daySettings 未定义

javascript - datepicker OnSelect 不工作,当它有 multidatepicker

php - Laravel4 - 尝试创建类似部件的小部件,它将传递/接受参数以获取正确的数据

php - 使用 PHP 在 MySQL 数据库中存储多个复选框数据

javascript - 通过其子项获取项目 ID (vanilla JS)