- PR -

csvダウンロード後のjavascriptエラーについて

1
投稿者投稿内容
もも屋
会議室デビュー日: 2005/05/25
投稿数: 14
投稿日時: 2006-01-13 14:50
いつもお世話になってます。もも屋です。

題記の件、以下の通り苦慮しております。
どなたか回避方法をご存知の方いらっしゃいましたらご教授お願いします。

事象:
1.csvダウンロードを行う(画面遷移なし)
2.csvダウンロードを行った画面のある項目(コンボボックス)のonchangeイベントでjavascriptを実行すると
  javascript内の 
   if (!window) はOK
   if (!document) はエラー(未定義のエラーです。と表示)
  となる。
 (onchangeで動的に項目内容を変更してアクションを実行するプログラムです)

csvダウンロード前の状態では2.のイベントが発生しても正しくdocumentを認識してくれるのですが、ダウンロード後だとdocumentを認識してくれなくなるのはなぜなのでしょうか。
また、documentを正しく認識する方法はあるのでしょうか。

ちなみに関係ないかもしれませんが、csvダウンロード時のヘッダには以下のとおり記述しています。
response.setContentType("application/octet-stream;charset=Windows-31J");
response.setHeader("Pragma", "");
response.setHeader("Cache-Control", "");
response.setHeader("Content-Disposition", "attachment; filename=\\"" + fileName + "\\"");

以上、宜しくお願いいたします。

【環境】
struts 1.1
jdk1.4.2_08
tomcat 5.0.28
kamui
会議室デビュー日: 2003/12/24
投稿数: 3
投稿日時: 2006-01-16 17:47
私も同じような現象に遭遇し、ダウンロード処理を非表示のIFRAMEにサブミットする
ことにより回避しました。(formのtargetプロパティにIFRAMEのnameを設定)

現象は異なりますが、下記が参考になると思います。
http://support.microsoft.com/default.aspx?scid=kb;ja;418126
もも屋
会議室デビュー日: 2005/05/25
投稿数: 14
投稿日時: 2006-01-16 19:09
kamuiさん、情報ありがとうございます。
とても参考になりました。
コレってIEのバグなんでしょうかね?

一応、ダウンロードをIFRAMEにサブミットさせる方法とjavascript側での処理内容をもう一度見直してみることにします。

どうもありがとうございました。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-01-16 20:33
ダウンロードしたあとに、event.returnValue = false;を入れればいいかも。
1

スキルアップ/キャリアアップ(JOB@IT)