我面临 javascript 事件焦点和模糊问题 我正在尝试在输入字段文本的 if else 条件下运行脚本,该文本具有来自 jqeuryUi 的日期下拉列表 我正在尝试应用一个条件,其中如果用户选择今天的日期,然后我必须运行脚本,否则不要运行脚本 https://camelia.ae/checkout/ 这是网站的链接尝试在购物车中添加一些东西
<script>
document.addEventListener("DOMContentLoaded", function() {
var deliveryDateInput = document.getElementById("delivery_date");
deliveryDateInput.addEventListener("focus", function() {
// Remove the previous blur event listener, if any
this.removeEventListener("blur", handleDateBlur);
// Attach the blur event listener
this.addEventListener("blur", handleDateBlur);
});
function handleDateBlur() {
var selectedDateParts = this.value.split("/");
var selectedDate = new Date(selectedDateParts[2], selectedDateParts[1] - 1, selectedDateParts[0]);
var today = new Date();
today.setHours(0, 0, 0, 0);
if (selectedDate.getTime() === today.getTime()) {
alert("Hello! You've selected today's date.");
}
}
});
</script>
我已经编写了这段代码,其中我试图在今天的日期显示警报,我面临的问题是这段代码正在工作,但是在我第二次选择第一次时它什么都不显示,但是当我第二次单击它时显示警报 谁能告诉我这个问题的解决办法
<script>
document.addEventListener("DOMContentLoaded", function() {
var deliveryDateInput = document.getElementById("delivery_date");
deliveryDateInput.addEventListener("focus", function() {
// Remove the previous blur event listener, if any
this.removeEventListener("blur", handleDateBlur);
// Attach the blur event listener
this.addEventListener("blur", handleDateBlur);
});
function handleDateBlur() {
var selectedDateParts = this.value.split("/");
var selectedDate = new Date(selectedDateParts[2], selectedDateParts[1] - 1, selectedDateParts[0]);
var today = new Date();
today.setHours(0, 0, 0, 0);
if (selectedDate.getTime() === today.getTime()) {
alert("Hello! You've selected today's date.");
}
}
});
</script>
我已经编写了这段代码,其中我试图在今天的日期显示警报,我面临的问题是这段代码正在工作,但是在我第二次选择第一次时它什么都不显示,但是当我第二次单击它时显示警报 谁能告诉我这个问题的解决办法
<script>
let date = document.querySelector('#delivery_date');
date.addEventListener('change', onDateChange)
function getFormattedDate() {
const today = new Date();
const year = today.getFullYear();
const month = (today.getMonth() + 1).toString().padStart(2, '0'); // Months are zero-based
const day = today.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`;
}
const formatedDate = getFormattedDate()
function onDateChange(e) {
let selectedDate = e.target.value;
if(selectedDate === formatedDate) {
alert("Hello! You've selected today's date.");
}
}
</script>