GWT表单输入字段没有值

时间:2011-11-19 17:56:18

标签: forms gwt

我对GWT和HTML表单有一个奇怪的问题 我已经制作了一个简单的FormPanel,里面有3个基本元素:FileUpload用于图像上传,TextBox用于图像名称,Button用于提交。一切正常(我至少可以保存图像服务器端),除了我输入字段中输入的内容,它没有值,即在Chrome的Inspect Element中我清楚地看到它没有值=“......”领域。

为什么会发生这种情况,我该如何解决?如果名字没有,我就无法保存。
编辑:

private final FlowPanel imagePanel = new FlowPanel();
private final FormPanel form = new FormPanel();
private final FileUpload fileUpload = new FileUpload();
private final Button submitButton = new Button("Upload");
private final TextBox fileName = new TextBox();
private final HorizontalPanel hp = new HorizontalPanel();
private final VerticalPanel vp = new VerticalPanel();

public void onModuleLoad()
{
    vp.add(fileUpload);
    hp.add(fileName);
    hp.add(submitButton);
    vp.add(hp);
    form.add(vp);

    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);
    form.setAction("/upload");

    fileUpload.setName("upload"); // image identifier, used in upload handler

    fileName.setName("fileName");
    fileName.setValue("Enter file name");
    fileName.setMaxLength(40);
    fileName.addStyleName("fileNameHint");

    RootPanel.get("uploadBar").add(form);
    RootPanel.get("thumbnails").add(imagePanel);
}

这是除事件处理程序之外的所有布局。在onSubmit上发生的所有事情都是检查fileUpload值是否允许使用文件扩展名。

2 个答案:

答案 0 :(得分:1)

同样,我的问题的根本原因是我很快就调用了form.reset()。请注意,非常输入的字段将是form.submit()和form.reset()的目标。所以你的TextBox也将作为form.submit()发送,如果你调用reset,它将被删除。

答案 1 :(得分:0)

value属性定义节点的defaultValue属性。设置value属性(以编程方式或交互式在控件中)不会更改元素的属性。

如果您想在Chrome的开发人员工具中查看元素的当前值,请在“元素”窗格中选择它(如果您使用“检查元素”上下文菜单项,则已选中它)并在其中键入$0.value JavaScript控制台。