WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:<input type="checkbox">にチェックをつける方法。

0:[投稿] tete [2005/03/02 14:23 ][環境:IE6、Win2000 apache]

var input = document.createElement("input");
input.setAttribute("type"   , "checkbox");
input.setAttribute("checked",  true     );

上記のように<input>にcheckedを付けているのですが、IE6ではチェックがつきません。
NN7やOperaだと付くのですが、どのように行えばよいのでしょうか?


1:[回答] [2005/03/02 15:18 ]

IE の悪しきバグです。
余計な記述が増えて非常に馬鹿らしいですが、
createElement で <input checked> を
生成するというトンデモな方法で解決します。

var isWinIE = (/MSIE [56].+Win/.test(navigator.userAgent) && document.all && !window.opera);
var input = document.createElement(isWinIE ? "<input checked>" : "input");
input.setAttribute("type"   , "checkbox");
input.setAttribute("checked",  true     );
document.body.appendChild(input);

ブラウザ判別は適当に書き換えてください。


2:[回答] tete [2005/03/03 13:58 ]

ありがとうございます。
IEのバグでしたか。対応方法が<input checked>というのもすごいですね。

一応もう一つの対応方法が見つかりました。appendChildで表示を行った後で、setAttribute("checked", true);にしたら出来ました。

ありがとうございました。


3:[完了] tete [2005/03/03 13:58 ]

完です。


4:[完了] 完了 [2005/03/26 13:43 ]

完了

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World