2014-09-16 5 views
0

Использование библиотеки Javascript - Calendar_Impl.js для управления календарем. Рядом с текстовым полем есть изображение, щелкнув по которому, отображается календарь. Выбор даты в календаре будет содержать дату в этом текстовом поле.текстовое поле onchange не активировано

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

Я хотел бы выполнить проверку на эту дату, как только пользователь выберет дату. Но onchange или onblur не работают вообще. Когда текст вводится вручную, работает chkDate(). Заполнение даты, щелкнув изображение, не работает.

Не нарушая calendar.js, могу ли я сделать что-нибудь, чтобы запустить событие.

+0

Что библиотеки вы используете? Любой подходящий элемент управления календарем будет выставлять событие для внесения изменений. – dave

+0

Я думаю, что 'onchange' не будет срабатывать * до тех пор, пока текстовое поле не потеряет фокус или вы не нажмете enter. * –

+0

its Calendar_Impl.js. Я могу видеть эти функции, но не знаю, как их использовать. – Qwerty

ответ

1

Это правда, что слушатели HTML onchange и blur работают только при фокусировке поля ввода. Я не уверен на 100%, но я думаю, что вы можете вызвать функцию, используя слушатель javascript. Попробуйте что-то вроде этого:

Добавить идентификатор вашего текстового поля:

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

Добавить яваскрипта 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> 
+0

Спасибо, но это не сработало. – Qwerty

Смежные вопросы