0

こんにちは私はsafecrackerを使用して式エンジンでフォームを作成しています。「生年月日」というフィールドの1つは、日付フィールドタイプを使用しています。jQueryデータピッカーは式エンジンによって自動的に追加されますが、このタイプのフィールドを作成するときに通常日付ピッカーに追加するオプションやフォーマットを追加する方法がわかりません。

私の通常のコード:

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

私が考えることができる唯一のオプションは、このフィールドをテキスト入力にして、テンプレートに自分で日付ピッカーを追加することですが、これにより、このフィールドタイプで実行されるEEの日付検証が削除されます。

このフィールドタイプに日付ピッカーオプションを追加する方法はありますか?

4

1 に答える 1

2

さて、Safecrackerタグdatepicker="no"を設定してから、JavaScriptを手動で追加できます。ただし、上記のようにカスタム形式を使用することはできません。入力をネイティブEE日付フィールドとして検証するには、datePicker形式と、その形式の現在の時刻を使用する必要があります。これ、datePickerではネイティブには行われません。 。(これを行う方法については、EEの開発者の1人によるこの投稿を参照してください。)yy-mm-ddHH:MM AM/PM

別の方法として、代わりにEEvent Helperの日付フィールドを使用することもできます。これは、検証に時間部分を必要としないためです(ただし、これも必要yy-mm-ddです)。ただし、ネイティブの日付フィールドにdatepicker="no"のみ影響するため、代わりに設定する必要があります。ただし、フォーム内の他のフィールドタイプに必要なJavaScriptまたはCSSも失われます。safecracker_head="no"

Re:プレーンテキストフィールドの使用:検証の問題に加えて、データは入力されたもの(mm / dd / yy)として保存され、代わりにタイムスタンプに変換されます。これははるかに便利で移植性があります。

唯一の真の解決策は、このために独自の日付フィールドタイプを作成することです。それほど難しいことではないでしょう。

于 2012-10-08T13:03:16.067 に答える