gpt4 book ai didi

java - 让 Wicket AjaxButton 与浏览器自动完成功能配合使用

转载 作者:行者123 更新时间:2023-12-02 12:06:49 24 4
gpt4 key购买 nike

我有一个带有输入字段、标签和 ajax 按钮的表单。我想根据 ajax 请求更改标签的值,并且希望文本字段记住通过浏览器自动完成输入的值。基本结构基于browser native autocomplete for dynamically generated forms (handled with ajax)

我实现了这两个目标,并且在通过 Enter 和 Button 提交时,表单都运行良好。我什至可以更改文本字段值并再次提交。仅当我再次提交表单而不更改文本字段值时,我才会收到org.apache.wicket.core.request.mapper.StalePageException。第一次或第二次提交是通过 Enter 还是 Button 发生并不重要。只要文本字段值未更改,任何组合都会导致 stale renderCount。 “未更改”包括再次重新输入相同的值。这也会导致异常。

我不太确定在文本字段中输入新值如何改变 wicket 处理页面的方式。欢迎任何帮助。

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

的更改

关于java - 让 Wicket AjaxButton 与浏览器自动完成功能配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46848673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com