IEでのJavaScript

JavaScript使ってて、
FireFoxSafariではうまく動くけど、
IE6で動かない事が度々あります。。。

今日、学んだのは以下の2つ。


document.createElementでiframeを作るとき

以下のコードでは、うまくiframeが作られていないのか、
ポップアップが立ち上がりました。。。

var iframeElement = document.createElement("iframe");
iframeElement.name = "upload";
document.body.appendChild(iframeElement);

targetを"upload"にしたformをsubmitする。

うまく動くコードはこちら。

var iflameDivElement = document.createElement("div");
iflameDivElement.innerHTML = '';
document.body.appendChild(iframeDivElement);

targetを"upload"にしたformをsubmitする。

ファイルアップロード2で勉強させてもらいました。
ありがとうございます。。。

IE4、IE5では動かないって言うのは良く聞くけど、
IE6もダメみたい。。。

バグってるのかな??


formの要素をループでまわす

formの中のinputとかの要素をループで取得するとき、
下のコードはダメでした。。。

var someForm = document.someForm;
for (inputName in someForm.elements) {
  var inputElement = someForm.elements[inputName];
  // 何かの処理
}

何か間違ってるのかな??

以下のコードはオッケー。

var someForm = document.someForm;
for (var i = 0; i < someForm.elements.length; i++) {
  var inputElement = someForm.elements[i];
  // 何かの処理
}

IE6は嫌いです。。。