Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阻止onfocus()清除文本框中的日期_Javascript_Date_Textbox_Onfocus - Fatal编程技术网

Javascript 阻止onfocus()清除文本框中的日期

Javascript 阻止onfocus()清除文本框中的日期,javascript,date,textbox,onfocus,Javascript,Date,Textbox,Onfocus,即使单击文本框或日期选择器更改日期,我也需要允许键入的日期保留在文本框中。 这里有一个来自这个网站的例子来说明我想要什么>>>>>> 请看,在我输入出发日期之后,当我单击文本框或日期选择器时,我输入的上一个日期仍然显示在文本框中 我认为问题在于日历标签onfocus行。如果我删除onfocus=“$(this).mask('99/99/9999');”>是,日期保留在文本框中,但它不再允许我手动输入日期 我应该在代码中添加什么以允许此函数工作 Javascript: function parse

即使单击文本框或日期选择器更改日期,我也需要允许键入的日期保留在文本框中。
这里有一个来自这个网站的例子来说明我想要什么>>>>>>

请看,在我输入出发日期之后,当我单击文本框或日期选择器时,我输入的上一个日期仍然显示在文本框中

我认为问题在于日历标签
onfocus
行。如果我删除
onfocus=“$(this).mask('99/99/9999');”>
是,日期保留在文本框中,但它不再允许我手动输入日期

我应该在代码中添加什么以允许此函数工作

Javascript:

function parseDate(s) {

    //including leap year:
      var reg = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g; 


    if (!reg.test(s)) {
        return "Invalid Date";
    }
    var dateParts = s.split("/");

    var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

    var dateStrParts = date.toString().split(" ");

    return (date.getDate() + ", " + dateStrParts[1] + " " + dateStrParts[3]);
}
日历标签:

<p:calendar 
value="#{pc_Rpt2202.asat_date}"
id="rp2202_input_as_at" 
styleClass="calendar" 
maxlength="10"
pattern="dd MMM yyyy"
onchange="$(this).val(parseDate($(this).val()))"
onfocus="$(this).mask('99/99/9999');"
>
<p:watermark for="rp2202_input_as_at" value="dd/MMM/yyyy" />


能否请您包括您正在使用的jQuery插件,以便我们可以设置一个JSFIDLE来调试它?@Markasoftware-Datepicker?我目前正在使用primefaces