Dojo で選択オプションを作成中
dojo.byId("it1").add(dojo.create("option", { value:'1',innerHTML:'Iteration 1' }));
IE8 で無効な引数エラーが発生しました。残りのブラウザーは正常に動作します。
Dojo で選択オプションを作成中
dojo.byId("it1").add(dojo.create("option", { value:'1',innerHTML:'Iteration 1' }));
IE8 で無効な引数エラーが発生しました。残りのブラウザーは正常に動作します。
これは、ブラウザーが一種のフェイルオーバー メカニズムを実装しているためです。あるいは、基準さえ変わったのかもしれません。option
古いブラウザーでは、この要素の実装がおかしかったという事実が残っています。新しいoption
DOMの次のプログラムによる作成を検討してください。
text='Iteration 1';
value=1;
defaultSelected = false;
selected=false;
document.getElementById('myselect').options.add(
new Option(text, value, defaultSelected ,selected)
);
http://msdn.microsoft.com/en-us/library/ie/dd757810(v=vs.85).aspxを参照してください。
API には、オプションが選択されているかどうかを示す引数もあります。しかし、ここで興味深いのはパラメータですtext
大まかに訳すと
var opt = document.createElement('OPTION');
opt.text = text;
opt.value = value;
プログラムで作成された選択 (innerHTML
アプローチを使用) は、IE 8 より前および IE 8 を含む IE では正しく機能しないことがわかります。要素は単に親フォームに接続されていないため、送信時にサーバーに送信されません。