お世話になっております。現在フォームブリッジのラベルスペースにinsertAdjacentHTMLにて年月カレンダーのようなものを挿入しているのですがこちらの値をフォームブリッジの文字列1行「年月テキスト」フィールドに転記したいのですが保存時に値が入りません。下記の記事を読んでもよくわかりませんでした。勉強不足で申し訳御座いません。どのようにすれば非正規のオブジェクトから正規フィールドに値を転記出来るのでしょうか。ご教示頂けますと幸いです。(フォームブリッジのJavascriptカスタマイズでハマったこと、工夫したこと #JavaScript - Qiita)
(function() {
'use strict';
fb.events.form.mounted = [function (state) {
var calendrdr = fb.getElementByCode('space');
calendrdr.insertAdjacentHTML('beforebegin' ,'<select id="monthYearPicker"></select>');
console.log(document.getElementById("moncal"));
const monthYearPicker = document.getElementById('monthYearPicker');
const today = new Date();
let startMonth, startYear;
if (today.getDate() === 1) {
startMonth = today.getMonth() + 2;
startYear = today.getFullYear();
if (startMonth > 11) {
startMonth -= 12;
startYear += 1;
}
} else {
startMonth = today.getMonth() + 3;
startYear = today.getFullYear();
if (startMonth > 11) {
startMonth -= 12;
startYear += 1;
}
}
// 選択可能な年月を5年間分追加
for (let i = 0; i < 60; i++) {
const month = (startMonth + i) % 12;
const year = startYear + Math.floor((startMonth + i) / 12);
const option = document.createElement('option');
option.value = `${year}-${String(month + 1).padStart(2, '0')}`;
option.textContent = `${year}年 ${String(month + 1).padStart(2, '0')}月`;
monthYearPicker.appendChild(option);
}
document.getElementById("monthYearPicker").addEventListener("change",() =>{
var calval = document.getElementById("monthYearPicker").value + "-01";
console.log(calval);
console.log(calval-today.getMonth());
var nengetsutext = fb.getElementByCode('年月テキスト');
nengetsutext.getElementsByTagName("input")[0].value = calval;
});
return state;
}];
})();