簡體   English   中英

當用戶單擊按鈕時,我動態呈現日期輸入字段 html5 但無法訪問事件偵聽器,例如更改

[英]When a user clicks a button, I dynamically render date input field html5 but can't access event listener such as change

當用戶單擊按鈕時,我動態呈現日期輸入字段 html5 但無法訪問事件偵聽器,例如更改

這是我的代碼:

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);
           }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM