使用Javascript库-Calendar_Impl.js进行日历控制。文本框旁边有一个图像,单击该图像会显示一个日历。在该日历中选择日期将在该文本框中填充日期。

<asp:textbox onchange="chkDate();"></asp:textbox>
<img onclick="javascript: showCalendar();"/>


用户选择日期后,我想对该日期进行检查。但是onchange或onblur根本不起作用。手动输入文本后,chkDate()起作用。通过单击图像填充日期不起作用。

在不打扰calendar.js的情况下,我可以做些事情来触发该事件。

最佳答案

的确,HTML侦听器onchangeblur仅在聚焦输入字段时才起作用。我不确定100%,但是我认为您可以使用JavaScript侦听器调用该函数。尝试这样的事情:

在您的文本框中添加一个ID:

<asp:textbox id="chkDateTextbox" onchange="chkDate();"></asp:textbox>


添加javascript onchange侦听器:

<script type="text/javascript">
    window.onload= function () {
        if(window.addEventListener)
        {
            document.getElementById('chkDateTextbox').addEventListener('change', chkDate, false);
        }
        else if (window.attachEvent)
        {
            document.getElementById('chkDateTextbox').attachEvent("onchange", chkDate);
        }
    }
</script>

10-08 11:13