当用户单击按钮时,我动态呈现日期输入字段html5,但无法访问事件侦听器,例如更改



当用户单击按钮时,我动态呈现日期输入字段html5,但不能访问事件侦听器,如change

下面是我的代码:
const dateFunction = () => {
    const y = document.getElementById("my-date").value;
    const formattedY =  moment(y).format('dddd, D MMMM, YYYY');
    document.getElementById('serviceDate').innerText = formattedY;
    document.getElementById('hideDate').value = y;
}
document.getElementById('my-date').addEventListener('change', dateFunction);

当单击<button>元素时,似乎您正在尝试修改日期,那么为什么不将"click"事件侦听器添加到按钮中呢?

var button = document.querySelector("#button");
button.addEventListener("click", dateFunction);

如果您正在使用<input type="date">,并且您想要为每次更改日期选择器的值添加事件侦听器,请使用"input"事件而不是"change"事件,我发现它更可靠。

我已经解决了这个问题。在添加侦听器之前,我没有检查日期输入字段是否已经在dom中可用。

let onceOff = document.getElementById('once-off-date');

if (onceOff) {
               onceOff.addEventListener('change', dateFunction);
           }

相关内容

  • 没有找到相关文章

最新更新