Jquery mobile 如何防止用户在年份区域输入超过4位数字

Jquery mobile 如何防止用户在年份区域输入超过4位数字,jquery-mobile,Jquery Mobile,我正在开发JQuery Mobile Datebox,但有一些问题我无法解决。若用户在年份区域键入一些奇怪的输入,比如1988123,datebox会变得疯狂,并更改日期值“未定义,未定义NaN,NaN” 我尝试了从Datebox获取唯一的年份值,但day、month或year区域没有id字段。所以我找不到任何解决办法。有人能帮我吗?试试HTML5模式: <form onsubmit="alert('Submitted.');return false;"> <input

我正在开发JQuery Mobile Datebox,但有一些问题我无法解决。若用户在年份区域键入一些奇怪的输入,比如1988123,datebox会变得疯狂,并更改日期值“未定义,未定义NaN,NaN”

我尝试了从Datebox获取唯一的年份值,但day、month或year区域没有id字段。所以我找不到任何解决办法。有人能帮我吗?

试试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>

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



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

请尝试
maxlength=“4”
。当且仅当我尝试在输入字段中写入任何内容而不使用datebox时,它才起作用。但在我的问题中,输入字段中有一个日期框,日期框的日期、月份和年份区域没有id。由于没有id的情况,我不能使用maxlength,但感谢您的建议谢谢您的建议,但它对我的情况不起作用。
<input  name="tarih1" id="tarih1"  type="date" data-role="datebox" data-options='{"mode": "datebox", "maxYear":"3000"}' placeholder="GG.AA.YYYY">