重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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>

A 回答 (1件)

sleipnir(バージョンは適当に動かしたので不明)とIE7で確認しました。


IEのバグのようですね。お手上げです。

http://www.gac.jp/article/index.php?stats=questi …
> var r2 = document.createElement( "<input type='radio' name='r' value='2'>" );

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

iframeではこの作り方になりますが、inputでもあったとは、、、
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2007/12/09 04:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!