0

我有一个 GWT 应用程序,我需要将 FormPanel 用于包装一个文本框(TextBox)。(解决一些样式问题)

编辑: 样式问题是:我们正在使用一些预构建样式表,这些样式表通过 HTML 标签名称放置样式......所以我们需要放置一个form标签来包装一些组件以便能够读取样式!

问题是,在 KeyPress 事件中,我注意到页面中出现了加载。尽管结果返回 ajaxaly,就好像没有发生客户端 - 服务器之旅一样。

问题是,如何去掉这趟服务器?

注意:我只是将组件包装到窗体中,我没有设置它的任何属性:

FormPanel formPanel = new FormPanel();
CaptionPanel captionPanel = new CaptionPanel();
formPanel.add(captionPanel);
captionPanel.add(horizontalPanel);
verticalPanel.add(formPanel);

谢谢。

4

2 回答 2

1

FormPanel 的重点是创建一个classis HTML 样式的表单提交。它应该用于实现与需要表单提交的服务器的互操作性。

不要仅仅为了解决“一些样式问题”而使用 FormPanel。

OTOH,如果您需要从 AJAX 样式的服务器中检索一些数据,请阅读http://code.google.com/webtoolkit/doc/latest/tutorial/JSON.html#http

于 2011-02-15T12:02:40.643 回答
1

从您的问题来看,尚不清楚是什么导致了服务器之旅。但是,如果是 FormPanel 导致了这种情况,我会将 FormPanel 的实例化更改为以下内容:

FormPanel formPanel = new FormPanel() {
    public boolean onFormSubmit() { return false; }
};

这应该等效于以下 html,它将阻止表单提交:

<form onsubmit="return false">

如果这不能解决问题,则需要进行更多调试以查看调用服务器的位置。Firefox的Tamper Data插件可能对此有所帮助。

于 2011-02-15T21:00:14.913 回答