输入 JavaScript 日期做某事

标签 javascript date input

我有一个日期输入字段。如果选择的日期是今天,我正在努力让另一个输入字段禁用。我假设这是因为 JS 在输入后没有处理输入。

这里是:

<input  type="date" name="DateName" id="inputID" onkeydown="dateEntered(this)" />

<input  type="time" name="TimeName" id="inputTime" />

<script>
var date = new Date();
var dd = date.getDate();
var mm = date.getMonth()+1;
var yyyy = date.getFullYear();
var hrs = date.getHours();
var userDateEntry = document.getElementById('inputID').value;

if(dd<10) {
    dd='0'+dd
} 

if(mm<10) {
    mm='0'+mm
} 

date = yyyy+'-'+mm+'-'+dd;

function dateEntered(){
    if (hrs >= 10 && userDateEntry == date) {
        alert("Shipping for today has ended. Your order will arrive tomorrow");
        document.getElementById('inputTime').disabled= true;
    }
    else{
        document.getElementById('inputTime').disabled= false;
    }
}
</script>

最佳答案

您应该使用onchange 事件。这应该适合你:

var date = new Date();
var dd = date.getDate();
var mm = date.getMonth()+1;
var yyyy = date.getFullYear();
var hrs = date.getHours();

if(dd<10) {
    dd='0'+dd
} 

if(mm<10) {
    mm='0'+mm
}

date = yyyy+'-'+mm+'-'+dd;

function dateEntered(obj){
    var userDateEntry = obj.value;

    if (hrs >= 10 && userDateEntry == date) {
        alert("Shipping for today has ended. Your order will arrive tomorrow");
        document.getElementById('inputTime').disabled= true;
    }
    else{
        document.getElementById('inputTime').disabled= false;
    }
}
<input  type="date" name="DateName" id="inputID" onchange="dateEntered(this)" />

<input  type="time" name="TimeName" id="inputTime" />

关于输入 JavaScript 日期做某事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33617566/

相关文章:

javascript - html 输入 onchange 不接受匿名函数

javascript - IIFE 模式命名不正确?

javascript - 单击按钮时动态添加选择框、文本框和日期并将这些值插入数据库

mysql - 修改MySQL内部日期格式

PHP 如果数字小于 100,如何设置数字格式以将百位显示为零?

mysql - Laravel 查询失败但在 Mysql 中有效

html - Angular 变化显示值

javascript - $ ('<div>' ).parent() 返回什么?

javascript - 为什么 Google 的 Analytics 跟踪代码首先执行?

html - 输入按钮目标 ="_blank"不会导致链接在新窗口/选项卡中加载