ウィケット形式のアップロード フィールドがあります。
私はイベント「onchange」で AjaxFormSubmitBehavior を使用するので、ユーザーがファイルを選択するだけで、すでに画像をアップロードして横の小さなパネルに表示しています。
Firefox と Chrome では正常に動作しますが、IE (IE8 / IE9) では動作しません。IE でユーザーがファイルを選択すると、次のようになります。
a. 応答コード (「ajax-response」というタグ内) を含む新しいウィンドウが開きます。
b. Wicket Ajax Debug ボックスには、「エラー: 応答の解析中にエラーが発生しました」と表示されます。
このアプリケーションの他の Ajax 呼び出しは、IE でもうまく機能することに注意してください。
関連するコードを添付しています。前もって感謝します、デビッド
プライベート 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);