首页 > 解决方案 > 将我的日期输入限制为仅接受 4 个“年份”变量而不是 6 个

问题描述

我正在创建一个包含日期输入字段的表单。我已成功将其设置为采用 yyyy-mm-dd 格式,但是,当输入盯着年份的日期时,我的年份将接受六个值,例如 yyyyyy-mm-dd。这会造成两种糟糕的用户体验。

  1. 如果用户想简单地输入他们的日期“2020-01-18”,那么当他们输入它时,它将最终成为“202001-12-01” 年份已经接受了年份和月份值,然后默认月份值改为“12”,因为输入了日期值“18”,而日期值最终是当前日期。
  2. 如果用户输入他们的年份“2020”然后点击选项卡转到月份,它将成功导航到他们输入“12”的日期字段。但是,如果/当他们再次点击选项卡转到当天,它会将它们发送到下一个输入字段而不是日期,因为我当前的设置会将输入光标从月份字段中移动到当天场地。

我的日期输入字段代码是:

HTML + PHP

<!-- Date of Birth -->
    <label for="dateOfBirth">Date of Birth</label>
    <span class="Error">* <?php echo $dateOfBirthErr; ?></span>
    <br>
    <input type="date" id="dateOfBirth" name="dateOfBirth" value="<?php echo date('Y-m-d'); ?>" />

每个浏览器都会出现同样的问题。谢谢,anoyone,你的帮助!

标签: phphtmldate

解决方案


解决方法是为max=您的日期选择器添加一个值。

    <input type="date" id="dateOfBirth" name="dateOfBirth" 
    value="2019-01-17" max="9999-12-31"/>

上面的示例将阻止在字段中提交任何 5 或 6 位日期,用户将被迫在提交之前更正其明显的拼写错误。


推荐阅读