【问题标题】:How to prevent a user from entering more than 4 digit in year area如何防止用户在年份区域中输入超过 4 位数字
【发布时间】:2013-09-02 07:59:59
【问题描述】:

我正在开发 JQuery Mobile Datebox,但有些东西我无法修复。如果用户在年份区域输入一些奇怪的输入,例如 1988123,日期框会变得疯狂并更改日期值“未定义,未定义 NaN,NaN”。

我尝试从 Datebox 中获取唯一年份值,但日、月或年区域没有 id 字段。所以我无法得到任何解决方案。有人可以帮帮我吗?

【问题讨论】:

  • 当且仅当我尝试在输入字段上写任何内容而不使用日期框时它才有效。但在我的问题中,输入字段中有一个日期框,而日期框的日期、月份和年份区域没有 id。由于没有id的情况,我不能使用maxlength,但是感谢您的建议

标签: jquery-mobile


【解决方案1】:

尝试 HTML5 模式:

<form
onsubmit="alert('Submitted.');return false;">
    <input
    type="text"
    required=""
    pattern="(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))"
    value=""
    name="dates_pattern2"
    id="dates_pattern2"
    list="dates_pattern2_datalist"
    placeholder="Try it out.">
    <input
    type="submit"
    value="»">
    <datalist
    id="dates_pattern2_datalist"></datalist>
</form>

【讨论】:

  • 感谢您的建议,但对我的情况不起作用。
【解决方案2】:

终于找到了解决办法。 如您所知,JQuery Mobile Datebox 有一些数据选项。我找到了一个选项“maxYear”。

<input  name="tarih1" id="tarih1"  type="date" data-role="datebox" data-options='{"mode": "datebox", "maxYear":"3000"}' placeholder="GG.AA.YYYY">

使用此解决方案,用户不能选择超过 4 位数的年份。 (您可以将 3000 更改为另一个 4 位数的年份。但不要忘记,如果您选择例如 1999,用户不能选择大于 1999)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多