jQuery:如何检查日期输入字段是否为空

kar*_*a11 5 jquery

我现在所拥有的。

$('form input[name="birthDate"])').blur(function () {
      var dob = $("#dob").val();
      if(dob == "") {
        $("#dobAlert").show();
        $("#laba").attr("disabled", true);
      } else {
        $("#dobAlert").hide();
      }
    });
Run Code Online (Sandbox Code Playgroud)

#laba 是一个按钮,如果输入为空,我想禁用它。我知道如果我放入required输入标签,我可以禁用该按钮。但我遇到的问题是它没有显示警报。

代码在这里

mel*_*cia 6

日期类型的输入不会返回空,因为那里会有日期占位符 (dd/mm/yyyy)。您可以测试该值是否为有效日期。

首先,修复您的 jQuery 选择器,因为那里有一个额外的括号。也可以使用.prop()代替.attr()来切换禁用的属性。

$('input[name="birthDate"]').blur(function () {
    var dob = $("#dob").val();

    if (!Date.parse(dob)) {
        $("#dobAlert").show();
        $("#laba").prop("disabled", true);
    } else {
        $("#dobAlert").hide();
    }
});
Run Code Online (Sandbox Code Playgroud)

演示

另一种方法是像@Callebe 建议的那样检查 Falsy:

$('input[name="birthDate"]').blur(function () {
    if (!$("#dob").val()) {
        $("#dobAlert").show();
        $("#laba").prop("disabled", true);
    } else {
        $("#dobAlert").hide();
    }
});
Run Code Online (Sandbox Code Playgroud)

演示