【问题标题】:How to check the (empty) value of a input type="date" in Chrome如何在 Chrome 中检查输入 type="date" 的(空)值
【发布时间】:2013-10-01 07:44:20
【问题描述】:

我想检查用户是否输入了日期。 但我不知道该怎么做。

这是我已经得到但不起作用的一些 javascript 代码:

var valueDate = document.getElementById('Date').value;
if ( valueDate== null || valueDate== '')
{
    alert('Date is empty');
    return false;
}

还有 HTML <input type="date" name="Date" id="Date"/> 提前致谢!

【问题讨论】:

    标签: javascript input


    【解决方案1】:

    你可以检查一个假值:

    if (!valueDate) {
        // ...
    }
    

    JavaScript 中的虚假值是:

    1. undefined
    2. null
    3. false
    4. ""
    5. 0-0
    6. 0n
    7. NaN

    由于如果设置了值,document.getElementById('Date').value 始终是字符串类型,因此您不会得到像 0 被视为没有输入那样的误报,如果类型是 number 就会出现这种情况。

    【讨论】:

    • 不起作用。在 chrome 中会弹出一个日历,您可以在其中选择日期,标准值为 dd-mm-yyyy。
    • @Bas 你真的试过了吗?这个小提琴对我来说工作得很好(玩弄控件并查看控制台输出):jsfiddle.net/Zb28D/1
    • 很抱歉我做错了什么。它现在可以工作了:-) 非常感谢!
    【解决方案2】:

    如果我是你,我会尝试使用 Date.parse()。

    var valueDate = document.getElementById('Date').value;
    
    if(!Date.parse(valueDate)){
      alert('date is invalid');
    }
    

    http://www.w3schools.com/jsref/jsref_parse.asp

    【讨论】:

    • Tr1stan 的解决方案更好,因为您也在测试有效日期。
    • 我什至不知道Dateparse 方法!谢谢!
    【解决方案3】:

    我会这样做

    var valueDate = document.getElementById('Date').value;
    
    if (!valueDate) {
      alert('date is invalid');
    }else{alert('date is valid')}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 2019-04-05
      • 2014-01-09
      • 2018-01-13
      • 2014-02-13
      • 2012-12-22
      相关资源
      最近更新 更多