2012-10-25 33 views
1

我有一些按钮,在我的应用程序:IE9为什么用wicket形式的get方法替换post方法?

private class MyForm extends Form<Parametry> { 

    private static final long serialVersionUID = 1L; 
    public MyForm(final Parametry parametry) { 
     add(new AjaxButton("1") { .... } 
     add(new AjaxButton("2") { .... } 
     add(new Button("run") { 
      private static final long serialVersionUID = 1L; 

      @Override 
      public void onSubmit() { 
       logger.error("???????????????????" + parametry.getDatum()); 
      } 
     }); 
    } 
} 

在Firefox和Chrome的一切工作,但我有问题,IE8。 Ajax按钮正常工作,但是当我按下按钮时,什么都没有发生。只是页面是新的(?x = ?x+1),但logger不写任何东西。

我该如何解决它?


更新:我使用的版本1.5.7。当我删除ajaxButton时,一切正常。


UPDATE2:我用Wireshark来看到晖,交通运输:

火狐:

POST /rob-mon/statistika?5-4.IFormSubmitListener-statistikaForm HTTP/1.1

这应该是好的。

IE9:

GET /rob-mon/statistika?4-1.IBehaviorListener.0-statistikaForm &随机= 0.2323892690702561 HTTP/1.1

为什么使用GET方法它?

+0

尝试覆盖按钮上的onError(),看看是否到达那里。 – bert

+0

nope仍然没有。我也尝试添加反馈面板来获得一些错误,但它也没有帮助。 – hudi

+0

不应该按钮在一种形式工作? – biziclop

回答

1

作为一种替代方法,您可以覆盖onSubmit为您的Form而不是按钮?你甚至可以失去按钮,并保持一个简单的<input type="submit" />不与wicket绑定,这应该工作,我认为。

+0

hm,如果我保留现有的按钮并在提交时添加相同的提交代码来形成。这是错的吗? – hudi

+0

我会说这是不必要的重复,但肯定的是,你可以..只要确保在代码中处理'onSubmit'方法将被顺序调用。 – Tim

+0

hm我看到这个按钮在mozilla和chrome中提交两次。有没有一些选项来获取浏览器? – hudi

0

Wicket AjaxButtons通过添加到元素的onclick事件来工作。你有任何js库可能会干扰onclick事件处理程序wicket生成?我记得有一个占位符插件的问题。

选项2:使用AjaxFallbackButton

+0

不使用任何js – hudi