+ Start a Discussion
k_ogawak_ogawa 

日付入力項目について

お世話になっております。

Visualforceで開始日の入力項目(カレンダー付き)を作成したいのですが、なかなかうまくいきませんのでアドバイスをお願いいたします。

<Visualforce>

    <dt>開始日<span class="required">*</span></dt>
    <apex:inputField value="{!StartDate}" id="startdate"/>

<Apex>

    private Date StartDate {get; set;}
    /** 開始日 */
    public void setStartDate(Date d){
       this.StartDate = d;
    }
    public Date getStartDate(){
       return this.StartDate;
    }

Apexは他の項目を見よう見まねで書いているのでそこが違うのかな?とは思うのですが、解決方法が良くわかりません。
どなたかよろしくお願い致します。

Best Answer chosen by k_ogawa
Taiki YoshikawaTaiki Yoshikawa
HTML5をつかったapex:inputタグの使い方は以前検証したときにまとめてみたものがあるので参考になるかもしれません。
http://tyoshikawa1106.hatenablog.com/entry/2013/08/24/140157

サンプルコードはそのままで動作するはずなのでDeveloper環境で動かしてみてください。
あくまでサンプルなので詳細についてはDeveloper Guideなどを確認する方が間違いがないと思います。
http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_input.htm

jQueryプラグインは、Zebra_DatePickerとdatepickerを試してみたのが参考になるかもしれないです。

Zebra_DatePicker
http://tyoshikawa1106.hatenablog.com/entry/2014/01/07/082727

datepicker
https://gist.github.com/tyoshikawa1106/9af97ab6c43905cd2ec5

datepickerの方はそのままで動作しませんが、JSを読み込んでstyleClassを指定すれば動作すると思います。
検索するといろいろわかりやすいサイトが見つかると思います。

All Answers

Taiki YoshikawaTaiki Yoshikawa
こんにちは。
apex:inputFieldですが、取引先(Account)や商談(Opportunity)などのsObject型でのみ使用することができます。
inputFieldをつかって開始日や終了日を表示したい場合は、そのオブジェクトに開始日項目、終了日項目というようにカスタム項目を用意してあげる必要があります。

カスタム項目を用意せずに開始日/終了日の入力項目を表示したい場合は、apex:inputField以外を使用して対応する必要があります。
例えばdocType="html-5.0"を宣言してapex:inputのtype="date"を使用する方法で対応できると思います。
※古いIEでは動作しなかったと思うので注意してください。

あとはjQueryなどを利用して自作するかapexタグを使用せずにHTMLのinputタグとJavaScirptで対応する方法があると思います。
k_ogawak_ogawa
Taiki 様
いつもお世話になっております。
今回もアドバイスありがとうございます。

sObject型でのみの使用だったのですね。
どうりで出ないわけです。

HTML、JavaScirpt、jQueryなど使った経験がないので、
もしよろしければサンプルソースやヒントになるサイトのリンクを教えて頂けるとうれしいです。
よろしくお願い致します。

Taiki YoshikawaTaiki Yoshikawa
HTML5をつかったapex:inputタグの使い方は以前検証したときにまとめてみたものがあるので参考になるかもしれません。
http://tyoshikawa1106.hatenablog.com/entry/2013/08/24/140157

サンプルコードはそのままで動作するはずなのでDeveloper環境で動かしてみてください。
あくまでサンプルなので詳細についてはDeveloper Guideなどを確認する方が間違いがないと思います。
http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_input.htm

jQueryプラグインは、Zebra_DatePickerとdatepickerを試してみたのが参考になるかもしれないです。

Zebra_DatePicker
http://tyoshikawa1106.hatenablog.com/entry/2014/01/07/082727

datepicker
https://gist.github.com/tyoshikawa1106/9af97ab6c43905cd2ec5

datepickerの方はそのままで動作しませんが、JSを読み込んでstyleClassを指定すれば動作すると思います。
検索するといろいろわかりやすいサイトが見つかると思います。
This was selected as the best answer
k_ogawak_ogawa
Taiki 様

ありがとうございます。
教えて頂きましたサイト含め、いろいろ試してみたいと思います。

是非、次の機会にもよろしくお願い致します。