簡體   English   中英

使Wicket AjaxButton與瀏覽器自動完成功能一起使用

[英]Getting Wicket AjaxButton to work with Browser autocomplete

我有一個帶有輸入字段,標簽和一個ajax按鈕的表單。 我想根據ajax請求更改標簽的值,並且我希望文本字段通過瀏覽器自動完成功能記住輸入的值。 基本結構基於瀏覽器的本機自動完成功能,用於動態生成的表單(使用Ajax處理)

通過Enter和Button提交時,我都達到了目標,並且表單運行良好。 我什至可以更改textfield值,然后再次提交。 僅在第二次提交表單而不更改文本字段值的情況下,才會獲得org.apache.wicket.core.request.mapper.StalePageException 第一次或第二次提交是否通過Enter或Button都沒有關系。 只要文本字段值未更改,任何組合都會導致stale renderCount “不變”包括再次重新輸入相同的值。 這也導致了異常。

我不太確定如何在文本字段中輸入新值來更改檢票口處理頁面的方式。 歡迎任何幫助。

HTML:

<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
      <head>
        <wicket:head>
          <title>Suche   </title>
        </wicket:head>
      </head>
      <body>
        <form  target="the_iframe" wicket:id="w_form" id="myform" >
          <input wicket:id="w_input"/> 
          <label wicket:id="w_label">   </label>  
          <input wicket:id="w_button" type="submit"  onclick="myform.submit();"/>
        </form>
        <iframe name="the_iframe" hidden="true">   </iframe> 
      </body>
    </html>

Javacode:

public class TestseitePage extends WebPage {

  private final Form w_form = new Form("w_form");

  @Override
  protected void onInitialize() {
    super.onInitialize();
    final TextField<String> w_input = new TextField<String>("w_input", new Model<String>(""));
    final Model m = new Model<String>("Test");
    final Label w_label = new Label("w_label", m);
    w_label.setOutputMarkupId(true);
    add(w_form);
    w_form.add(w_label);
    w_form.add(w_input);
    final AjaxButton w_button = new AjaxButton("w_button") {
      @Override
      protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
        try {
          Thread.sleep(2000);
        } catch (final InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        m.setObject("Button " + new Date().getTime());
        target.add(w_label);
      }
    };
    w_form.add(w_button);
  }
}

刪除onclick="myform.submit();" 從按鈕的標記中。 在我看來,這將觸發表單的非Ajax提交,這將導致整頁重新呈現,從而導致Page#renderCount的更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM