2
  1. ウィケット形式のアップロード フィールドがあります。

  2. 私はイベント「onchange」で AjaxFormSubmitBehavior を使用するので、ユーザーがファイルを選択するだけで、すでに画像をアップロードして横の小さなパネルに表示しています。

  3. Firefox と Chrome では正常に動作しますが、IE (IE8 / IE9) では動作しません。IE でユーザーがファイルを選択すると、次のようになります。

    a. 応答コード (「ajax-response」というタグ内) を含む新しいウィンドウが開きます。

    b. Wicket Ajax Debug ボックスには、「エラー: 応答の解析中にエラーが発生しました」と表示されます。

  4. このアプリケーションの他の Ajax 呼び出しは、IE でもうまく機能することに注意してください。

  5. 関連するコードを添付しています。前もって感謝します、デビッド

プライベート FileUploadField ファイル;

        FileUploadField fuf = new FileUploadField("file");

        AjaxFormSubmitBehavior ajaxFormSubmitBehavior = new AjaxFormSubmitBehavior("onchange") {

            private static final long serialVersionUID = 1L;

            @Override
            protected void onSubmit(AjaxRequestTarget target) {

                MlCmpBlob img = handleUpload();

                ImageDisplayPanel imageDisplayPanelTmp = new ImageDisplayPanel("uploadImgDisplay", new Model<MlCmpBlob>(img));
                imageDisplayPanel.replaceWith(imageDisplayPanelTmp);
                imageDisplayPanel = imageDisplayPanelTmp;
                target.add(imageDisplayPanel);
            }

            @Override
            protected void onError(AjaxRequestTarget target) {
                target.add(wizardFormFeedback);
            }
        };
        ajaxFormSubmitBehavior.setDefaultProcessing(false);
        fuf.add(ajaxFormSubmitBehavior);
        add(file = fuf);
4

0 に答える 0