我對GWT和HTML表單有一個奇怪的問題。
我做了一個簡單的FormPanel,其中包含3個基本元素:FileUpload用於圖像上傳,TextBox用於圖像名稱和Button用於提交。一切正常(我可以至少保存圖像服務器端),除非我在輸入字段中輸入的值沒有值,即在Chrome的Inspect Element中,我清楚地看到它沒有值=「...」領域。GWT表單輸入字段沒有值
爲什麼會發生這種情況,我該如何解決?如果沒有名字,我不能保存這個名字。
編輯:
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);
}
這是所有除事件處理程序的佈局。發生在提交上的所有事情是檢查fileUpload值是否允許文件擴展名。
好的,所以我可以查看開發工具中的值,但是如何使該值在表單提交中出現?目前它是NULL,我不知道爲什麼是這樣,因爲form.onSubmit()中的input.getValue()返回正確的值,但在服務器端它給了NULL。 – jurchiks
對不起,你說「一切正常」,所以我認爲你只有開發工具的問題。確保你的'TextBox'上有'setName',當然它在'FormPanel'內。如果您顯示構建UI的代碼,它可能會有所幫助。 –
添加了代碼。 – jurchiks