DOMで作ったラジオボタンが選択できない

解決済みの質問

DOMで作ったラジオボタンが選択できない

JavaScript DOM で作成したラジオボタンが選択できません。
Sleipnirの「選択部分のソースを表示」で確認したところ、
name属性だけがセットされていないようで、選択できない原因はそれだと思いますが、
セットできない理由が分かりません。
どなたか解決策を教えて頂けないでしょうか。

なお、下記の何れの方法でもダメなようです。
obj.name = "hogehoge"
obj.setAttribute("name", "hogehoge");

念のため、現象確認用のソースも貼っておきます。

<html>
<head>
<script type="text/javascript">
function create1()
{
var rObj = document.createElement("input");
rObj.type = "radio";
rObj.name = "rd";
rObj.value = 5;
var divObj = document.getElementById("box");
divObj.appendChild(rObj);
}
function create2()
{
var rObj = document.createElement("input");
rObj.setAttribute("type", "radio");
rObj.setAttribute("name", "rd");
rObj.setAttribute("value", "3");
var divObj = document.getElementById("box");
divObj.appendChild(rObj);
}
</script>
</head>
<body>
<input type="button" value="create1" onClick="create1()">
<input type="button" value="create2" onClick="create2()">
<div id="box"></div>
</body>
</html>

投稿日時 - 2007-12-09 02:56:22

QNo.3582868

困ってます

質問者が選んだベストアンサー

sleipnir(バージョンは適当に動かしたので不明)とIE7で確認しました。
IEのバグのようですね。お手上げです。

http://www.gac.jp/article/index.php?stats=question&category=9&id=4474&command=msg
> var r2 = document.createElement( "<input type='radio' name='r' value='2'>" );

もしくは
divObj.innerHTML+='<input type="radio" name="rd" value="3">';

iframeではこの作り方になりますが、inputでもあったとは、、、

投稿日時 - 2007-12-09 03:49:53

お礼

ああ、バグなのですね・・・
代替手段を用いるしかありませんか・・・

それよりも、こんな時間に出した質問に素早い回答、感謝です。
ありがとうございました。

投稿日時 - 2007-12-09 04:22:55

ANo.1

0人が「このQ&Aが役に立った」と投票しています

あわせてチェックしたい
  • XML DOMについて ...
  • appendChildがieだとできない?? ...
  • XML DOM ルートノード直下に子ノードを持つノードを追加 ...
PR
『シャーロック・ホームズ』試写会プレゼント[ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら