![](/img/trans.png)
[英]Expression Engine SafeCracker Formatting a Date Field format=”%d/%m/%Y” = 01/01/1970
[英]Expression Engine SafeCracker Format Datepicker
嗨我正在使用safecracker在表達式引擎中創建一個表單,我的一個名為“date of birth”的字段使用日期字段類型。 jQuery數據導航器正在由表達式引擎自動添加,但我無法看到如何添加任何選項或格式,我通常會在創建此類型的字段時添加到datepicker。
我的正常代碼:
$(function() {
$( "#datepicker" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd/mm/yy',
maxDate: new Date()
});
});
我能想到的唯一選擇是將此字段作為文本輸入並在模板中自己添加日期選擇器,但這將刪除它對此字段類型執行的EE的日期驗證。
無論如何還要為此字段類型添加額外的datepicker選項嗎?
好吧,你可以在Safecracker標簽中設置datepicker="no"
,然后手動添加你的javascript。 但是:您無法使用上面顯示的自定義格式 - 要將輸入驗證為本機EE日期字段,它必須使用datePicker格式yy-mm-dd
, 加上當前時間格式為HH:MM AM/PM
- datePicker本身不做的。 ( 請參閱EE的開發人員之一 ,了解他們如何做到這一點。)
另一種方法是使用EEvent Helper日期字段,因為它不需要時間部分來驗證(盡管它也需要yy-mm-dd
)。 但是, datepicker="no"
僅影響本機日期字段,因此您必須設置safecracker_head="no"
- 但是您還將丟失表單中其他字段類型所需的任何javascript或CSS。
Re:使用純文本字段:除了驗證問題之外,您的數據將被存儲為輸入的任何內容(mm / dd / yy),而不是轉換為時間戳,這更加實用和便攜。
唯一真正的解決方案是為此編寫自己的日期字段類型。 不會很困難。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.