質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

Q&A

解決済

1回答

3929閲覧

datepickerのform送信

ajijek

総合スコア16

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

0グッド

0クリップ

投稿2018/03/21 13:38

jqueryのdatepickerについて使い方をご存知でしたらお教えください。
datepickerにはinputの表示値に下記のオプションで、指定の表示にできることをしりました。
下記で入力したinput属性のvalue値を送信したいのですが、送信する際にyyyy/mm/dd形式で
送信し、画面をリロードします。
その際に、カレンダーで入力した値は送信した値を受け取り、元のinputのvalue値にセットするのですが、そのさい、当然ながら送った時点の形で表示されます。
ですので、元の値(yyyy年mm月dd日)に戻したいです。)

$(function () {
var dateFormat = 'yyyy年mm月dd日';
$('.datepicker').datepicker({
dateFormat: dateFormat
});
});

考えたのが、document.readyで画面が表示される時点で、戻りの値を
上の$('.datepicker')に対して変更のトリガーイベントを起こし、わざと
datepickerで元の形に戻すみたいなことをしているのですが、
もっと良い方法があれば教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

jquery UI でしょうか?
送った時点の形で表示というのはサーバー側で何もしていないからで、サーバー側で加工すべきものかと思います。

jQuery UI の DatePicker はaltフィールドが指定できるので、以下のように内部用、表示用とわけてもいいかもしれません。

HTML

1<input name="date" type="hidden" class="datepicker" value="2018/03/22" /> 2<input class="alt" value="2018年03月22日" readonly="readonly" />

JavaScript

1$(function () { 2 $('.datepicker').datepicker({ 3 dateFormat: 'yy/mm/dd', 4 altFormat: 'yy年mm月dd日', 5 altField: '.alt' 6 }); 7 8 $('.alt').on('click', function(event) { 9 $('.datepicker').datepicker('show'); 10 }); 11});

投稿2018/03/22 07:21

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問