作成日: 2018/03/05 最終更新日: 2018/03/23
文書種別
制限事項
詳細
C1InputDateコントロールで月(MM)を変更すると、日付(MM/dd)が翌月になる場合があります。
【サンプルコード】
<wijmo:C1InputDate ID="C1InputDate2" runat="server" DateFormat="d"></wijmo:C1InputDate>
【再現手順1(月が変更されないケース)】
(1)日付コントロール上で[2017/01/31]をカレンダーから選択します。
(2)月を選択し[2]を入力(2月に変更)します。
--> 日付が[2017/02/28]に変更されます
【再現手順2(月が変更されるケース)】
(1)日付コントロール上で[2017/1/29]をカレンダーから選択します。
(2)月を選択し[2]を入力(2月に変更)します。
--> 日付が[2017/03/01]に変更されます
C1InputDateコントロールは次のようなポリシーで動作しています。ユーザーによって月が変更され、存在しない日付になったときは、日付が翌月になる場合があります。
1. 変更前の日付が、その月の最終日だった場合、変更後の月の最終日を表示します。
2. 1.以外の場合は、入力された日付を保持します。もし日が変更後の月の最終日より後になる場合、月が翌月になり、日も更新されます。これはJavaScriptの挙動であり、次のようなサンプルでも確認できます。
=====JavaScript
var d = new Date("2017/01/29");
d.setMonth(1); // 引数の1は2月を指します
alert(d); // 2017年3月1日が表示されます
=====
【使用方法】
C1InputDateコントロールを配置したWebForm.aspxファイルと同じフォルダに、スクリプトファイルを配置し、<head>タグ内に以下のようなコードを記述して読み込んでください。
【サンプルコード(WebForms)】
<head runat="server">
・・・
<script src="kb82553_workaround.js"></script>
</head>
このスクリプトファイルにより再現手順2の動作が変わります。
【再現手順2】
(1)日付コントロール上で[2017/1/29]をカレンダーから選択します。
(2)月を選択し[2]を入力(2月に変更)します。
--> 日付が[2017/02/28]に変更されます。
【サンプルコード】
<wijmo:C1InputDate ID="C1InputDate2" runat="server" DateFormat="d"></wijmo:C1InputDate>
【再現手順1(月が変更されないケース)】
(1)日付コントロール上で[2017/01/31]をカレンダーから選択します。
(2)月を選択し[2]を入力(2月に変更)します。
--> 日付が[2017/02/28]に変更されます
【再現手順2(月が変更されるケース)】
(1)日付コントロール上で[2017/1/29]をカレンダーから選択します。
(2)月を選択し[2]を入力(2月に変更)します。
--> 日付が[2017/03/01]に変更されます
C1InputDateコントロールは次のようなポリシーで動作しています。ユーザーによって月が変更され、存在しない日付になったときは、日付が翌月になる場合があります。
1. 変更前の日付が、その月の最終日だった場合、変更後の月の最終日を表示します。
2. 1.以外の場合は、入力された日付を保持します。もし日が変更後の月の最終日より後になる場合、月が翌月になり、日も更新されます。これはJavaScriptの挙動であり、次のようなサンプルでも確認できます。
=====JavaScript
var d = new Date("2017/01/29");
d.setMonth(1); // 引数の1は2月を指します
alert(d); // 2017年3月1日が表示されます
=====
カスタマイズ方法
スクリプトファイルをWebFormsから読み込むことで動作をカスタマイズすることが可能です。スクリプトファイルはこちらからダウンロードできます。【使用方法】
C1InputDateコントロールを配置したWebForm.aspxファイルと同じフォルダに、スクリプトファイルを配置し、<head>タグ内に以下のようなコードを記述して読み込んでください。
【サンプルコード(WebForms)】
<head runat="server">
・・・
<script src="kb82553_workaround.js"></script>
</head>
このスクリプトファイルにより再現手順2の動作が変わります。
【再現手順2】
(1)日付コントロール上で[2017/1/29]をカレンダーから選択します。
(2)月を選択し[2]を入力(2月に変更)します。
--> 日付が[2017/02/28]に変更されます。
旧文書番号
82553