Javascript DHTMLX2.5日历的问题

Javascript DHTMLX2.5日历的问题,javascript,dhtmlx,Javascript,Dhtmlx,我使用的是DHTMLX 2.5日历。我正在将日历附加到输入字段 <script src="../dhtmlx_suite/js/dhtmlxcommon.js"></script> <link rel="stylesheet" type="text/css" href="../dhtmlx_suite/skins/dhtmlxcalendar_dhx_skyblue.css" /> <link rel="stylesheet" type="text/cs

我使用的是DHTMLX 2.5日历。我正在将日历附加到输入字段

<script src="../dhtmlx_suite/js/dhtmlxcommon.js"></script>
<link rel="stylesheet" type="text/css" href="../dhtmlx_suite/skins/dhtmlxcalendar_dhx_skyblue.css" />
<link rel="stylesheet" type="text/css" href="../dhtmlx_suite/css/dhtmlxcalendar.css" />
<script src="../dhtmlx_suite/js/dhtmlxcalendar.js"></script>
<script>
var myCalendar;
function doOnLoad() {
    myCalendar = new dhtmlXCalendarObject(["calendar"]);

}

</script>

    <div style="position:relative;height:280px;">
        <input type="text" id="calendar">   
    </div>
<script>
doOnLoad();
</script>

var myCalendar;
函数doOnLoad(){
myCalendar=新的DHTMLXLCalendarObject([“calendar”]);
}
doOnLoad();

当我在输入字段中输入一些无效日期(例如“xyz”)并单击输入字段时,它会将该值替换为字符串“NaN”。如何避免这种情况?并保持用户已编辑的值在文本字段中的状态。因此,当输入字段中有无效日期时,我希望日历弹出窗口忽略该日期,只打开当前月份。

您可以创建一个验证程序函数,用于检查输入内容的语法是否正确。如果不正确,您可以将旧值放回输入,并阻止其他操作。

您可以将事件附加到日历。例如,类似onMonthChanged()的内容,并返回FALSE。但要使其按您希望的方式工作,您应该有一个布尔变量,当用户聚焦输入字段时,该变量将变为TRUE,并在您附加到日历的事件中检查该变量是否为TRUE。如果为TRUE,则在事件内部返回FALSE。