2010-09-25 49 views
3

這個問題只顯示ie.all其他瀏覽器,即ff,chrome,safari,opera很好。 它不顯示chcekbox卻顯示的值中...input.setAttribute('type','checkbox'); IE bug

代碼:

<html> 
<head> 
    <title></title> 
<style> 
*{margin:0;padding:0;} 
ul { 
    padding:10px 10px 0 35px; 
    list-style:none; 
    } 

li{ 
display:inline; 
text-weight:bold; 
color:#475D7F; 
} 
li img{margin-bottom:-2%;} 
</style> 
<script language="JavaScript" type="text/javascript"> 
<!-- 

function DOM(obj,id){ 
var total=10; 
var coll=3; 
var row=total/coll; 

var tar=document.getElementById(id); 
var table=document.createElement('TABLE'); 
    table.border='0'; 
    tar.appendChild(table); 
var tbdy=document.createElement('TBODY'); 
    table.appendChild(tbdy); 

    for (var zx1=0;zx1<=row;zx1++){ 
    var tr=document.createElement('TR'); 
    tbdy.appendChild(tr); 
    for (var zx2=0;zx2<coll;zx2++){ 
    var td=document.createElement('TD'); 
    var ul=document.createElement('UL');  
    var input=document.createElement('INPUT'); 
    var img=document.createElement('IMG'); 

    tr.appendChild(td); 
    td.width='200'; 
    td.appendChild(ul); 
    var li1=document.createElement('LI'); 
    li1.appendChild(input); 
    ul.appendChild(li1); 
    input.setAttribute("name", "friend"); 
    ***input.setAttribute('Type', 'checkbox');*** 
    input.setAttribute("value", "yap frnd"); 
    input.setAttribute("id", "xyz"); 


    var li2=document.createElement('LI'); 
    ul.appendChild(li2); 
    li2.appendChild(img); 
    img.setAttribute("src", "x.jpg"); 
    img.setAttribute("title", "x"); 
    img.setAttribute("alt", "x"); 
    img.setAttribute("style", "padding-bottom:-2%;"); 

    var li3=document.createElement('LI'); 
    ul.appendChild(li3);  
    li3.appendChild(document.createTextNode('Ataus Samad Rubel')); 

    } 
    } 

} 
//--> 
</script> 
</head> 

<body> 
<select onchange="DOM(this,'target');" > 
<option >DOM Method</option> 
<option >do</option> 
</select> 
</body> 
</html> 

希望有人看着it..thanks你的讚賞。

回答

12

你不能改變的<input><button>type屬性將它添加到IE中的DOM後,所以改變它之前追加,就像這樣:

input.setAttribute("name", "friend"); 
input.setAttribute("type", "checkbox"); 
input.setAttribute("value", "yap frnd"); 
input.setAttribute("id", "xyz"); 
li1.appendChild(input);     //this needs to happen after 
+0

完美...感謝尼克&Darin.►l1.appendChild(輸入);◄►input.setAttribute(「type」,「checkbox」);◄[小寫't']是什麼使它完美。再次感謝。 – 2010-09-25 11:37:26

1

嘗試:

input.setAttribute('type', 'checkbox'); 
        ^

注意小寫t