2012-10-25 36 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