使用 gwt 和 gwtbootstrap3 提交表单而不刷新页面
Submit form without refreshing page using gwt and gwtbootstrap3
我正在为我的 gwt 项目使用 gwt 和 gwtbootstrap3。我的代码看起来像
<b:NavbarForm pull="LEFT">
<b:TextBox placeholder="Search" addStyleNames="col-lg-8"/>
</b:NavbarForm>
现在,如果我在文本框中键入任何内容并按回车键,gwt 将重新加载整个页面,这是我不想要的,我只想从文本框中获取值并调用一个方法。有什么办法可以做到这一点。
仅供参考,如果我不使用 NavbarForm 我可以获取该值,但我无法使搜索框内联。
http://gwtbootstrap3.github.io/gwtbootstrap3-demo/#navbar
仅供参考,如果我将文本框包装在 NavbarText 或 NavbarNav 等其他容器中,则 UI 损坏。
这可能是 gwtbootstrap3 中的一个错误 - 他们最近对表单小部件进行了大修。
但是现在,您可以将 SubmitHandler
添加到 NavbarForm
并取消 SubmitEvent
以防止它重新加载页面:
navbarForm.addSubmitHandler(new SubmitHandler() {
@Override
public void onSubmit(SubmitEvent event) {
event.cancel();
}
});
使用 UiBinder 时:
@UiHandler("navbarForm")
void onNavbarSubmit(SubmitEvent event) {
event.cancel();
}
请注意,在这种情况下 SubmitEvent
是类型 org.gwtbootstrap3.client.ui.base.form.AbstractForm.SubmitEvent
, 不是 com.google.gwt.user.client.ui.FormPanel.SubmitEvent
。
我正在为我的 gwt 项目使用 gwt 和 gwtbootstrap3。我的代码看起来像
<b:NavbarForm pull="LEFT">
<b:TextBox placeholder="Search" addStyleNames="col-lg-8"/>
</b:NavbarForm>
现在,如果我在文本框中键入任何内容并按回车键,gwt 将重新加载整个页面,这是我不想要的,我只想从文本框中获取值并调用一个方法。有什么办法可以做到这一点。
仅供参考,如果我不使用 NavbarForm 我可以获取该值,但我无法使搜索框内联。
http://gwtbootstrap3.github.io/gwtbootstrap3-demo/#navbar
仅供参考,如果我将文本框包装在 NavbarText 或 NavbarNav 等其他容器中,则 UI 损坏。
这可能是 gwtbootstrap3 中的一个错误 - 他们最近对表单小部件进行了大修。
但是现在,您可以将 SubmitHandler
添加到 NavbarForm
并取消 SubmitEvent
以防止它重新加载页面:
navbarForm.addSubmitHandler(new SubmitHandler() {
@Override
public void onSubmit(SubmitEvent event) {
event.cancel();
}
});
使用 UiBinder 时:
@UiHandler("navbarForm")
void onNavbarSubmit(SubmitEvent event) {
event.cancel();
}
请注意,在这种情况下 SubmitEvent
是类型 org.gwtbootstrap3.client.ui.base.form.AbstractForm.SubmitEvent
, 不是 com.google.gwt.user.client.ui.FormPanel.SubmitEvent
。