日付の開始年月日の表示について

生年月日を必須の項目として入力してもらうのですが、日付の枠内をクリックしたときに、日付の開始日をある特定の年月日から表示させたいのですが、可能なのでしょうか?

平均年齢が40歳前後だとして、そのくらいの年月日の表示でスタートさせたいという理由です。

初期値で入力させておく方法もあると思いますが、その場合はもし飛ばしてしまった際に、その日付で登録されてしまうため、初期値として入力しておくのは厳しいということです。

ただ、初期値でその日付で登録されていても、例えば、その日付の枠を一度もクリックしていなければ、エラーとして表示されるとかなら大丈夫です。

林田大平様

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

cstapの友利と申します。

日付のフィールドをクリックした時に値を設定することで可能です。

以下の記述をしたJavaScriptファイルを読み込ませることで実装できます。 

(function () {
'use strict';

fb.events.form.mounted = [function (state) {
const input=fb.getElementByCode('date_1').getElementsByClassName("el-date-editor")[0] // date_1は対象とする日付フィールドのフィールドコード
const clickDate= () => {
if (state.record.date_1.value!=="") { // date_1は対象とする日付フィールドのフィールドコード
return
}
state.record.date_1.value=new Date(2010,0) // date_1は対象とする日付フィールドのフィールドコード
// クリック時にセットする値は new Date(年, 月 - 1, 日)で設定できます。
}
input.addEventListener('click', clickDate, false)

return state;
}];
})();

cstap 友利様

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

ご回答ありがとうございます。

試してみましたが、おそらく私の知識不足のため、うまくいかなかったです。

フィールドコードと登録されたJavaScriptは下図の通りです。

他に条件としては、ステップフォームを使用しております。

また、条件分岐も使用しております。

他に、Javascriptは①郵便番号からの自動アドレス取得、②ラジオボタンの強制リセット、③条件分岐時に必須項目があっても次に行けるバリデーションのものを使用しております。

これらに影響があるのでしょうか。

林田大平様

他にjavascriptファイルを読み込ませている場合は以下のコードで可能かと思います。

(function () {
'use strict';

fb.events.form.mounted.push(function (state) {
const input=fb.getElementByCode('birthday').getElementsByClassName("el-date-editor")[0]
const clickDate= () => {
if (state.record.birthday.value!=="") {
return
}
state.record.birthday.value = new Date(1990, 0, 1)
}
input.addEventListener('click', clickDate, false)
return state;
});

})();

cstap 友利様

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

何度もありがとうございます。

試してみます。