1

私はcom.extjs.gxt.ui.client.widget.form.FormPanelを使用しています。ファイルのアップロード用。コードを以下に示します。

FormPanel panel = new FormPanel();
file = new FileUploadField();
file.setName("uploadedfile");
file.setFieldLabel("File");

FlexTable fileTable = new FlexTable();
fileTable.setWidget(0, 0, file);
panel.add(fileTable);

Button submitButton = new Button("Save");
panel.addButton(submitButton);


submitButton.addListener(Events.Select,
new Listener<ButtonEvent>() {
        @Override
        public void handleEvent(ButtonEvent be) {
        panel.setAction(<someactionUrl>);
        panel.submit(); 
}
});

フォーム送信後、ファイルのアップロードが開始され、キャンセル ボタン付きのプログレス バーが表示されます。ユーザーがキャンセル ボタンをクリックすると、ファイルのアップロード (フォーム送信要求) を中止したいと思います。どうやってやるの?

4

2 に答える 2

0

フォーム送信をキャンセルできるようにするには、送信フォームを含むページに移動するか削除する必要があります。これをシームレスに行うには、送信方法を変更する必要があります。

送信時:

  1. アップロードしているフォーム要素のディープ クローン
  2. 複製された input[type=file] 要素をオリジナルと交換します。
  3. iframe を作成する
  4. iframe を DOM に追加する
  5. 複製されたフォームを iframe に追加する
  6. iframe の ID とフォームのターゲットを共通の一意の値に設定します
  7. 複製したフォームを送信する

キャンセルします:

  1. iframe を削除します。
于 2013-07-30T14:40:42.367 に答える
-1

gwt-uploadをチェックアウトできます。ファイルのアップロードをキャンセルできるgwt-uploadに基づくサンプルを見てきました。

于 2012-05-29T15:43:09.490 に答える