IE中无法选中dom生成的radio,firefox可以
请高手帮忙!!!
<html>
<head>
<script LANGUAGE="JavaScript">
function test(){
var dom_form= document.getElementById('dom_form');
var dom_radio1 = document.createElement('input');
dom_radio1.type = 'radio';
dom_radio1.id = 'ro1';
dom_radio1.value = 'boy'
dom_radio1.name = 'ro1';
dom_form.appendChild(dom_radio1);
dom_ro1_value = document.createTextNode('男');
dom_form.appendChild(dom_ro1_value); var dom_radio2 = document.createElement('input');
dom_radio2.type = 'radio';
dom_radio2.value = 'girl';
dom_radio2.id = 'ro1';
dom_radio2.name = 'ro1';
dom_form.appendChild(dom_radio2);
dom_ro2_value = document.createTextNode('女');
dom_form.appendChild(dom_ro2_value);

var radio= document.getElementById('ro1').;

}
</script>
</head>
<body>
<form>
<input type="text" onclick="test()"/>
<div  id="dom_form" name="dom_form">xyz</div>
</form>
</body>
</hmtl>

解决方案 »

  1.   

    可以啊,楼主的代码,脚本最后一句:var radio= document.getElementById('ro1').; 
    多了一个.
      

  2.   

    最后的标签是</html>而不是</hmtl>,.楼主代码是不是手敲得啊????<html> 
    <head> 
    <script LANGUAGE="JavaScript"> 
    function test(){ 
    var dom_form= document.getElementById('dom_form'); 
    var dom_radio1 = document.createElement('input'); 
    dom_radio1.type = 'radio'; 
    dom_radio1.id = 'ro1'; 
    dom_radio1.value = 'boy' 
    dom_radio1.name = 'ro1'; 
    dom_form.appendChild(dom_radio1); 
    dom_ro1_value = document.createTextNode('男'); 
    dom_form.appendChild(dom_ro1_value); var dom_radio2 = document.createElement('input'); 
    dom_radio2.type = 'radio'; 
    dom_radio2.value = 'girl'; 
    dom_radio2.id = 'ro1'; 
    dom_radio2.name = 'ro1'; 
    dom_form.appendChild(dom_radio2); 
    dom_ro2_value = document.createTextNode('女'); 
    dom_form.appendChild(dom_ro2_value); var radio= document.getElementById('ro1'); } 
    </script> 
    </head> 
    <body> 
    <form> 
    <input type="text" onclick="test()"/> 
    <div  id="dom_form" name="dom_form">xyz </div> 
    </form> 
    </body> 
    </html>
      

  3.   

    去掉了,还是不能在ie中选中radio
    <html>
    <head>
    <script LANGUAGE="JavaScript">
    function test(){
    var dom_form= document.getElementById('dom_form');
    var dom_radio1 = document.createElement('input');
    dom_radio1.type = 'radio';
    dom_radio1.id = 'ro1';
    dom_radio1.value = 'boy'
    dom_radio1.name = 'ro1';
    dom_form.appendChild(dom_radio1);
    dom_ro1_value = document.createTextNode('男');
    dom_form.appendChild(dom_ro1_value); var dom_radio2 = document.createElement('input');
    dom_radio2.type = 'radio';
    dom_radio2.value = 'girl';
    dom_radio2.id = 'ro1';
    dom_radio2.name = 'ro1';
    dom_form.appendChild(dom_radio2);
    dom_ro2_value = document.createTextNode('女');
    dom_form.appendChild(dom_ro2_value);
    }
    </script>
    </head>
    <body>
    <form>
    <input type="text" onclick="test()"/>
    <div  id="dom_form" name="dom_form">xyz</div>
    </form>
    </body>
    </hmtl>
      

  4.   

    就发现一个问题。你的代码第24行,多了一个 . 
    var radio = document.getElementById('ro1').
      

  5.   

    明白楼主的意思了~~~~~IE下创建的radio,name属性加不进去的,得这个样子<html> 
    <head> 
    <script LANGUAGE="JavaScript"> 
    function test(){ 
    var dom_form= document.getElementById('dom_form'); 
    var dom_radio1 = document.createElement("<input type='radio' id='ro1' value='boy' name='ro1' />"); dom_form.appendChild(dom_radio1); 
    dom_ro1_value = document.createTextNode('男'); 
    dom_form.appendChild(dom_ro1_value); var dom_radio2 = document.createElement("<input type='radio' id='ro1' value='boy' name='ro1' />"); 
    dom_form.appendChild(dom_radio2); 
    dom_ro2_value = document.createTextNode('女'); 
    dom_form.appendChild(dom_ro2_value); var radio= document.getElementById('ro1'); } 
    </script> 
    </head> 
    <body> 
    <form> 
    <input type="text" onclick="test()"/> 
    <div  id="dom_form" name="dom_form">xyz </div> 
    </form> 
    </body> 
    </html>
      

  6.   

     <html>
    <head>
    <script LANGUAGE="JavaScript">
    function test(){
    var dom_form= document.getElementById('dom_form');
    var dom_radio1 = document.createElement('input');
    dom_radio1.type = 'radio';
    dom_radio1.id = 'ro1';
    dom_radio1.value = 'boy'
    dom_radio1.name = 'ro1';
    dom_form.appendChild(dom_radio1);
    dom_ro1_value = document.createTextNode('男');
    dom_form.appendChild(dom_ro1_value); var dom_radio2 = document.createElement('input');
    dom_radio2.type = 'radio';
    dom_radio2.value = 'girl';
    dom_radio2.id = 'ro1';
    dom_radio2.name = 'ro1';
    dom_form.appendChild(dom_radio2);
    dom_ro2_value = document.createTextNode('女');
    dom_form.appendChild(dom_ro2_value);
    }
    </script>
    </head>
    <body>
    <form>
    <input type="text" onclick="test()"/>
    <div  id="dom_form" name="dom_form">xyz</div>
    </form>
    </body>
    </html>
    点击input有两个radio,点击radio,选不中radio
      

  7.   

    这个问题,昨天刚讨论过!是IE的bug,刚才我已经发了一个代码了。
    详细请看:
    http://topic.csdn.net/u/20091021/14/2ded2cde-d0b0-4fcc-bb60-5c2a04008c8b.html
      

  8.   

    要像这样:
    try{//针对IE
      var dom_radio=document.createElement('<input type="radio" name="ro1" id="ro1">');
    }catch(e){//针对FF
      var dom_radio=document.createElement('input');
      dom_radio.type='radio';
      dom_radio.name='ro1';
      dom_radio.id='ro1';
    }
    dom_radio.value='boy';
    dom_form.appendChild(dom_radio1);
      

  9.   

    wisword 不好意思 我刚结帖了