这是思归以前帖出来的代码,能不能有哪位能改一下把上传控件改为下拉框和文本框?或者有更好的方案?但是一定要贴出,读取每一个控件的值的代码,谢谢各位高手,谢谢!!!!<form>
<div id="dvFiles"></div>
<input type="button" value="add" onclick="addFile()">
</form><script language="javascript">
var i = 1;
function addFile()
{
  var dv = document.getElementById("dvFiles");  var file = document.createElement("input");
  file.type = "file";
  file.id = file.name = "file" + i;  dv.appendChild(file);  var btn =  document.createElement("input");
  btn.type = "button";
  btn.id = btn.name = "btn" + i;
  btn.value = "delete file " +i;  btn.onclick = function() { 
var b = document.getElementById(btn.id);
dv.removeChild(b.nextSibling); //remove <BR>
dv.removeChild(b.previousSibling); //file
dv.removeChild(b); //btn
  }  dv.appendChild(btn);
 
  dv.appendChild(document.createElement("BR"));  i++;
}
</script>

解决方案 »

  1.   

    共有200分,请高手同时在http://community.csdn.net/Expert/topic/5198/5198208.xml?temp=.6696894拷贝,方便给分
      

  2.   

    我原先的代码如下:
    但是刷新后不能保持值的状态
    <Script runat="server">
    Sub page_load()Dim drop as dropdownlist
    drop=new dropdownlist
    pl1.controls.add(drop)
    drop.id="d1"End SubSub addct(s as object,e as eventargs)
    Dim drop as dropdownlist
    drop=new dropdownlist
    pl1.controls.clear()
    pl1.controls.add(drop)
    drop.id="d1"drop.items.add(new listitem("Shanghai","0"))
    drop.items.add(new listitem("Beijin","1"))
    End sub
    </Script>
    <html>
    <body>
    <form runat="server">
    <asp:button id="ad" runat="server" text="增加" onclick="addct"/>
    <asp:panel id="pl1" runat="server"/></form>
    </body>
    </html>
      

  3.   

    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="_2003.WebForm1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <TITLE>WebForm1</TITLE>
    <META name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <META name="CODE_LANGUAGE" Content="C#">
    <META name="vs_defaultClientScript" content="JavaScript">
    <META name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <BODY MS_POSITIONING="GridLayout">
    <FORM id="Form1" method="post" runat="server">
    <ASP:BUTTON ID="Button1" Runat="server" Text="取值"></ASP:BUTTON>
    <DIV id="dvFiles"></DIV>
    <INPUT type="button" value="添加" onclick="Add()">

    <INPUT type="hidden" id="hidCount" runat="server">
    </FORM>
     
     
    </BODY>
    </HTML>
    <FORM></FORM><SCRIPT language="javascript">
    var i = 1;
    function Add()
    {
      var dv = document.getElementById("dvFiles");  var txt = document.createElement("input");
      txt.type = "text";
      txt.id = txt.name = "TextBox" + i;
      dv.appendChild(txt);  var ddl =  document.createElement("select");
      ddl.options.add(new Option("Shanghai",0));
      ddl.options.add(new Option("BeiJin",1));
      ddl.name  = "ddl"+i;
       dv.appendChild(ddl);
      var btnDelte = document.createElement("input");
      btnDelte.type = "button";
      btnDelte.value = "删除本行"
      btnDelte.index = i;
      dv.appendChild(btnDelte);  btnDelte.onclick = function()
       { 
    var b = event.srcElement;
    dv.removeChild(b.previousSibling.previousSibling); //text
    dv.removeChild(b.previousSibling); //ddl dv.removeChild(b.nextSibling);//<BR>"
    dv.removeChild(b); //btn
      }  dv.appendChild(btnDelte);
     
      dv.appendChild(document.createElement("BR"));  Form1.hidCount.value = i;
      i++;
      
      
    }
    </SCRIPT>取值:private void Button1_Click(object sender, System.EventArgs e)
    {
    if(this.hidCount.Value !="")
    {


    int iCount = Convert.ToInt32(this.hidCount.Value);
    for(int i=1;i<iCount+1;i++)
    {
    string sText = Request.Form["TextBox"+i.ToString()];
    string sDDL =  Request.Form["Ddl"+i.ToString()]; Response.Write(sText+ ","+ sDDL +"<BR>");
    }
    }
    }说明:由于是前台增加的控件,postback 后应该会消失,但可取值.
      

  4.   

    cpp2017(幕白兄) 
    好像一点取值按钮就都没有了