GWT- DateBox.getTextBox(). AddValueChangeHandler() не запускает событие в IE

Я попытался использовать DateBox и добавить valueChangeHandler в DateBox.getTextBox(). Он отлично работает в FF, Chrome, но не IE9. Событие не запускается, даже если значение в текстовом поле изменяется.

Я пытался просто использовать TextBox.addValueChangeHandler() в IE9, он работает как положено. Так что вопрос в том, как я могу заставить DateBox.getTextBox(). AddValueChangeHandler () работать в IE9.

Кто-нибудь может подтвердить эту ошибку? а есть идеи как это исправить?

Небольшой кусок кода для тестирования:

 DateBox dateBox = new DateBox();
 RootLayoutPanel.get().add(dateBox);
 dateBox.getTextBox().addValueChangeHandler(new ValueChangeHandler<String>() {
   @Override
   public void onValueChange(ValueChangeEvent<String> event) {
      Window.alert("event fire"); 
  }
});

Благодарю.

2 ответа

Попробуй это:

    transactionDate.addValueChangeHandler(new ValueChangeHandler<Date>() {
    public void onValueChange(ValueChangeEvent<Date> event) {
        Window.alert(transactionDate.getValue().toString());
    }
});

Это известная ошибка, она будет исправлена ​​в GWT 2.6.

Тем временем вы можете использовать этот обходной путь:

dateBox.addValueChangeHandler(new ValueChangeHandler<Date>() {
    Date lastDate = null;
    @Override
    public void onValueChange(ValueChangeEvent<Date> arg0) {
    Date newDate = dateBox.getValue();
    newDate.setHours(0);
    newDate.setMinutes(0);
    newDate.setSeconds(0);

    if (!newDate.equals(lastDate))
    {
        lastDate = newDate;
        doSomething();
    }
}});

https://code.google.com/p/google-web-toolkit/issues/detail?id=4785

Другие вопросы по тегам