litxuf 发表于 2013-2-7 18:46:00

js document.createElement 动态添加input与A标签的几个问题

 页面源码
 
<!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>ccccc</title></head><body><div class="place"><div id="board" style="padding-left: 15px"><form action="/test/asc.do?m=create" method="post"><table class="add"><td align="right"></td><td align="left"><span id="upload"><div id="div_0"><input type="text" style="height: 16px" size="30"name="configure" /><a href='javascript:void(0)' >删除</a></div> </span></td></tr><tr><td colspan="4" class="add"><input type="button" name="button" value="ADD"><input type="button" name="button" value="ADD2"><input type="button" name="button" value="cs"/></td></tr><tfoot><tr><td></td><td><input type="text" name="userId2" /><input type="submit" class="button" id="Submit1" value="确定" /></td></tr></tfoot></table></html></div></div><script>var div0_outerHTML=document.getElementById("div_0").outerHTML;          var i=1;                         function createInput2(){            alert(div0_outerHTML);            var div_outerHTML = div0_outerHTML.replace(/_0/g, "_"+i);var shtml=document.getElementById("upload").innerHTML;document.getElementById("upload").innerHTML = shtml + div_outerHTML;            i++;            }                      function removeInput2(DIVID){          var aElement = document.getElementsByName("configure");         if(aElement.length==1){            alert("最后的数据 不要删除");          return ;          }         document.getElementById(DIVID).outerHTML="";          }                  function createInput(){                var p=document.createElement("div");            p.id="div"+i;             var aElement=document.createElement("input");                //aElement.name="configure";            aElement.setAttribute("name","configure");             aElement.id="configure";             aElement.type="text";            aElement.size="30";                        var A = document.createElement("A");            A.onclick = function (){removeInput(p.id);}; A.setAttribute("href","javascript:void(0)");   A.appendChild(document.createTextNode("删除"));p.appendChild(aElement);   p.appendChild(A);               if(document.getElementById("upload").appendChild(p) == null)               {                     return false;                  }                     i++;               return true;         }            function removeInput(divid){                var aElement = document.getElementById("upload");               var parent= document.getElementById(divid);               alert(divid);               alert(parent)               alert(parent.id);                if(aElement.removeChild(parent) == null) {                  return false;               }                return true;               }           function check2(){               var aElement = document.getElementsByName("configure");               alert(aElement);            alert(aElement.length);            for(j=0;j<aElement.length;j++){            alert(aElement.value)             }                   return true;       }    function cs(){alert( document.getElementById("upload").outerHTML);} </script></body></html>        
 
 document.createElement 动态添加 input与A有如下两个问题(IE7)
 
  1.  var aElement=document.createElement("input");  
             //aElement.name="configure";
             aElement.setAttribute("name","configure");
            上述方法 name属性无法赋值
    解决方案:aElement.id="configure"; 设置Id属性
2  A.setAttribute("onclick","removeInput(p.id)");  
 解决方案:   A.onclick = function (){removeInput(p.id);};
页: [1]
查看完整版本: js document.createElement 动态添加input与A标签的几个问题