ie中input的type是初始化时必须指定的而且不能更改

解决方案 »

  1.   

    先将它用一个div包裹起来,记录input的值,重写div的innerHTML
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function change(a){
    var text=document.getElementById("test");
    if(a.checked){
    try{
    text.type='hidden';
    }catch(e){
    var p=text.parentNode;
    var hiden=document.createElement("input");
    hiden.type='hidden';
    p.replaceChild(hiden,text);
    hiden.setAttribute('id','test');
    }
    }else{
    try{
    text.type='text';
    }catch(e){
    var p=text.parentNode;
    var hiden=document.createElement("input");
    hiden.type='text';
    p.replaceChild(hiden,text);
    hiden.setAttribute('id','test');
    }
    }
    }
    </script>
    </head><body>
    <input type="text" id="test" />
    <input type="checkbox" name='ss' onclick="change(this)">
    </body>
    </html>
    ie是不能修改type属性的  
    或者直接设置display属性试试