document.createElement方法的参数是一个tagName,不能像你那样创建。如果你想把一个字符串创建为一个对象,可以自己写一个方法,例如: function createHtmlElement(tagNameString) { var element = document.createElement("div"); element.innerHTML = tagNameString; return element.firstChild; }var myTD1=document.createElement("<td align='center'>")这样的句子改写为: var myTD1= createHtmlElement("<td align='center'></td>")后面的高手继续
经测试,我的代码还是可以通过,就是有些繁琐,请大虾帮我修正一下,代码如下:<script language="Javascript"> var i_row=0; function rdl_doAdd( text) { var oTable=document.all["myTable"]; if (!qry_text(text) && text!="") { var myTR =oTable.insertRow(); i_row++; var myTD1=document.createElement("<td align='center'>"),myTD2=document.createElement("<td align='center'>"), myTD3=document.createElement("<td align='left'>"),myTD4=document.createElement("<td align='left'>"); myTR.insertBefore(myTD1); myTR.insertBefore(myTD2); myTR.insertBefore(myTD3); myTR.insertBefore(myTD4);
var lb = document.createElement("<label id='lb_"+i_row+"' onclick='getDynValue();'>"); lb.innerText=text; myTD1.insertBefore(lb); var tb1=document.createElement("<input type='text' id='tb_mb"+i_row+"' style='width: 80%' onchange='getDynValue();'>"); myTD2.insertBefore(tb1); var tb2=document.createElement("<input type='text' id='tb_zl"+i_row+"' style='width: 98%' onchange='getDynValue();'>"); myTD3.insertBefore(tb2); var tb3=document.createElement("<input type='text' id='tb_bz"+i_row+"' style='width: 98%' onchange='getDynValue();'>"); myTD4.insertBefore(tb3); } }
function qry_text(text) //产品名称唯一性检验 { var oTable=document.all("myTable"); var htmlStr; for (var i=0;i<oTable.rows.length;i++) { cell=oTable.rows[i].cells[0]; htmlStr=cell.innerHTML; if (htmlStr.indexOf(text)>0) return true; } return false; }
function getDynValue() //获取动态控件的相关录入值 { var obj1,obj2,obj3; var result="";alert(result); for (var i=1;i<=i_row;i++) { if (document.all["lb_"+i]!=null) { result+=document.all["lb_"+i].innerText+":"; if (document.all["tb_mb"+i]!=null) result+=document.all["tb_mb"+i].value+"|"; else result+="|"; if (document.all["tb_zl"+i]!=null) result+=document.all["tb_zl"+i].value+"|"; else result+="|"; if (document.all["tb_bz"+i]!=null) result+=document.all["tb_bz"+i].value+";"; else result+=";"; } } document.all["hd_value"].value=result;
}
function rdl_delRow(e) //删除控件 {
with (event.srcElement.parentElement) { if (tagName.toLowerCase()=="tr" && rowIndex!=0) {
var inputText=document.createElment("input"); //创建一个input
inputText.setAttribute("type","text"); //设置这个input类型
inputText.setAttribute("name","text1"); //给这个文本框命名一个名字
alert(inputText.value); //弹出这个动态创建的控件的值。其他的如button,password,file 等等类型,只需要改改上面的type就行了。获取值直接引用赋值的变量.value
在innerHTML里面写的哪些控件是没有办法操作的。除非你把触发事件也写进去。
function createHtmlElement(tagNameString) {
var element = document.createElement("div");
element.innerHTML = tagNameString;
return element.firstChild;
}var myTD1=document.createElement("<td align='center'>")这样的句子改写为:
var myTD1= createHtmlElement("<td align='center'></td>")后面的高手继续
var i_row=0;
function rdl_doAdd( text)
{
var oTable=document.all["myTable"];
if (!qry_text(text) && text!="")
{
var myTR =oTable.insertRow();
i_row++;
var myTD1=document.createElement("<td align='center'>"),myTD2=document.createElement("<td align='center'>"),
myTD3=document.createElement("<td align='left'>"),myTD4=document.createElement("<td align='left'>");
myTR.insertBefore(myTD1);
myTR.insertBefore(myTD2);
myTR.insertBefore(myTD3);
myTR.insertBefore(myTD4);
var lb = document.createElement("<label id='lb_"+i_row+"' onclick='getDynValue();'>");
lb.innerText=text;
myTD1.insertBefore(lb);
var tb1=document.createElement("<input type='text' id='tb_mb"+i_row+"' style='width: 80%' onchange='getDynValue();'>");
myTD2.insertBefore(tb1);
var tb2=document.createElement("<input type='text' id='tb_zl"+i_row+"' style='width: 98%' onchange='getDynValue();'>");
myTD3.insertBefore(tb2);
var tb3=document.createElement("<input type='text' id='tb_bz"+i_row+"' style='width: 98%' onchange='getDynValue();'>");
myTD4.insertBefore(tb3);
}
}
function qry_text(text) //产品名称唯一性检验
{
var oTable=document.all("myTable");
var htmlStr;
for (var i=0;i<oTable.rows.length;i++)
{
cell=oTable.rows[i].cells[0];
htmlStr=cell.innerHTML;
if (htmlStr.indexOf(text)>0)
return true;
}
return false;
}
function getDynValue() //获取动态控件的相关录入值
{
var obj1,obj2,obj3;
var result="";alert(result);
for (var i=1;i<=i_row;i++)
{
if (document.all["lb_"+i]!=null)
{
result+=document.all["lb_"+i].innerText+":";
if (document.all["tb_mb"+i]!=null)
result+=document.all["tb_mb"+i].value+"|";
else
result+="|";
if (document.all["tb_zl"+i]!=null)
result+=document.all["tb_zl"+i].value+"|";
else
result+="|";
if (document.all["tb_bz"+i]!=null)
result+=document.all["tb_bz"+i].value+";";
else
result+=";";
}
} document.all["hd_value"].value=result;
}
function rdl_delRow(e) //删除控件
{
with (event.srcElement.parentElement)
{
if (tagName.toLowerCase()=="tr" && rowIndex!=0)
{
myTable.deleteRow(rowIndex);i_row--;
getDynValue();
}
}
}
function pg_load() //页面加载
{
if (document.all["hd_value"].value!="")
{
var str=document.all["hd_value"].value.split(';');
var oTable=document.all["myTable"];
var j;
i_row=str.length-1;
for ( var i=0;i<i_row;i++)
{
str1=str[i].split(':');
str2=str1[1].split('|');
var myTR =oTable.insertRow();
var myTD1=document.createElement("<td align='center'>"),myTD2=document.createElement("<td align='center'>"),
myTD3=document.createElement("<td align='left'>"),myTD4=document.createElement("<td align='left'>");
myTR.insertBefore(myTD1);
myTR.insertBefore(myTD2);
myTR.insertBefore(myTD3);
myTR.insertBefore(myTD4);
j=i+1;
var lb = document.createElement("<label id='lb_"+j+"' onclick='getDynValue();'>");
lb.innerText=str1[0];
myTD1.insertBefore(lb);
var tb1=document.createElement("<input type='text' id='tb_mb"+j+"' value='"+str2[0]+"' style='width: 80%' onchange='getDynValue();'>");
myTD2.insertBefore(tb1);
var tb2=document.createElement("<input type='text' id='tb_zl"+j+"' value='"+str2[1]+"' style='width: 98%' onchange='getDynValue();'>");
myTD3.insertBefore(tb2);
var tb3=document.createElement("<input type='text' id='tb_bz"+j+"' value='"+str2[2]+"' style='width: 98%' onchange='getDynValue();'>");
myTD4.insertBefore(tb3);
}
}
} </script>HTML代码<table cellspacing="1" id="myTable" width="100%" bgcolor="#f5f5f5" bordercolorlight="#e2e0e0" bordercolordark="#ffffff"
cellpadding="2" border="1" align="center"><tr style="color:White;background-color:#568ac2;font-weight:bold;">
<td align="center" width="20%">产品名称</td>
<td align="center" width="20%">数量</td>
<td align="center" width="30%">增量点</td>
<td align="center" width="35%">说明</td></tr>
</table>
<input id="Button1" type="button" value="添加销售目标" onclick="rdl_doAdd(document.all.prod_tree_tb.value);"/>