为什么IE9用wicket形式的get方法替换post方法?

时间:2012-10-25 07:49:49

标签: java wicket

我的应用程序中有一些按钮:

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查看通讯:

Firefox:

  

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

这应该是好的。

IE9:

  

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

为什么使用GET方法?

2 个答案:

答案 0 :(得分:1)

作为替代方案,您无法覆盖onSubmit而不是按钮的Form吗?你甚至可能会丢失按钮并保持一个简单的<input type="submit" />与Wicket无关,我认为这应该可行。

答案 1 :(得分:0)

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

选项2:使用AjaxFallbackButton