大家下午好,我这里有一个可以动态增加或者减少文本框的ASP程序,其中在JS内嵌套了部分ASP程序,用于从数据库查询记录,这里我省去了不相干的代码,我点击添加按钮,每增加一个文本框,就采用product_num1...product_num2...顺序往后命名,现在文本框可以正常显示出来,只是我想要的命名不能实现,我找到问题的症结所在,却不知怎么解决。
问题就是在这里: name='Product_num' + newItemNumber 
哪位高手能帮忙想办法解决一下?谢谢<html>
<body>
<script language="javascript">
<!--
var newItemNumber = 1;
function additem(id)
{
  var row,cell,str;
  row = document.getElementById(id).insertRow();
  if(row != null )
  {
<%
'.....省略若干不相干代码.....
response.write "cell = row.insertCell();"&vbcrlf
response.write "cell.innerHTML="&chr(34)
response.write "<input type=text  name='Product_num' + newItemNumber + ><input type=button value=删除 onclick=\'deleteitem(this);\'>"&chr(34)&";"
%>
document.getElementsByName("totalNumber")[0].value = newItemNumber++;
  }
}
function deleteitem(obj)
{
  var curRow = obj.parentNode.parentNode;
  tb.deleteRow(curRow.rowIndex);
  document.getElementsByName("totalNumber")[0].value = eval(document.getElementsByName("totalNumber")[0].value) - 1;
}
//-->
</script>
<form name="form" method="post" action="addrow.php">
<input name="button" type=button onClick='additem("tb")' value="添加>>"><input type="hidden" name="totalNumber" value=""> <!-- 记录增加了多少文本框 //--><table id="tb"></table></form>
</body>
</html>

解决方案 »

  1.   

    <%
    '.....省略若干不相干代码.....
    response.write "cell = row.insertCell();"&vbcrlf
    response.write "cell.innerHTML="&chr(34)
    response.write "<input type=text  name='Product_num' + newItemNumber + ><input type=button value=删除 onclick=\'deleteitem(this);\'>"&chr(34)&";"
    %>====================================
    这段代码可直接用js写,不需要asp代码。用asp代码还可能会有错呢。js
    ===============if(row != null )
      {
    cell = row.insertCell();
    cell.innerHTML=
    "<input type=text  name='Product_num' "+ newItemNumber +" ><input type=button value=删除 onclick='deleteitem(this);'>";
    newItemNumber++;}