大神们帮帮我吧,整晕了,真不会了··求代码

解决方案 »

  1.   

    1>js动态添加文本框,
    2>后台取值,
    3>还有从数据库取出来给文本赋值1和3都没问题,
    只有第2条是不可能实现的后台无法识别前台动态生成的控件!所以,还是重新设计你的解决方案吧,
    解决一个需求,可以有很多种解决方案,
    不要在一颗树上吊死了。。
      

  2.   

    js添加的文本框赋值后,再通过js将值放到隐藏域中,隐藏域是服务器端的,这样在后台就可以取值了。
      

  3.   

      <script>    var num=1;
    function AddInput()

        var str="";
        str+="<input  type=\"text\" id=\"tel"+num+"\">";
        window.dvInput.innerHTML+=str;
        num++;
    }function getall()
    {
    for(i=1;i<num;i++)
    {
    alert(document.getElementById('tel' + num).value);
         document.getElementById("hidValue").value += document.getElementById('tel' + num).value+"|";}
       alert(document.getElementById("hidValue").value);
    }        </script>        <input id="Button2" type="button" onclick="AddInput();" value="添加" />
            <asp:Button ID="Button1" runat="server" OnClientClick=" getall();" Text="提交" />
            <div id="dvInput">
            </div>
            <input type="hidden" id="hidValue" />
      

  4.   

    你会js动态添加控件,那会不会js提交保存数据呢?
    为什么一定要后台获取前台动态生成的标签的值呢........
      

  5.   

      <script>    var num=1;
    function AddInput()

        var str="";
        str+="<input  type=\"text\" id=\"tel"+num+"\">";
        window.dvInput.innerHTML+=str;    num++;
    }function getall()
    {
    for(i=1;i<num;i++)
    {
         document.getElementById("hidValue").value += document.getElementById('tel' + i).value+"|";}
       alert(document.getElementById("hidValue").value);
    }        </script>        <input id="Button2" type="button" onclick="AddInput();" value="添加" />
            <asp:Button ID="Button1" runat="server" OnClientClick=" getall();" Text="提交" OnClick="Button1_Click" />
            <div id="dvInput">
            </div>
            <input type="hidden" id="hidValue" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      

  6.   

    那js怎么保存数据到数据库啊?没试过啊~~求指教,我是.net啊
      

  7.   

    你在前台用JS动态添加的文本框设置一个name属性,然后提交的时候到后台用Request.Form["你的动态控件name"]就可以实现了
      

  8.   

    你的代码基本上是正确的,只是有些细节的地方没注意到,导致错误。
    现已帮你把代码调试好,供参考。可仔细对照一下,发现问题。web页面:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="addinput.aspx.cs" Inherits="ServerSentEvents.test.addinput" %><!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 runat="server">
    <title></title>
    <script language="javascript" type="text/javascript">    var num = 1;
        function AddInput() {
            var str = "";
            str += "<input type=\"text\" id=\"tel" + num + "\"><br/>";
            document.getElementById("dvInput").innerHTML += str;
            num++;
        }    function getall() {
            document.getElementById("hidValue").value = "";
            for (i = 1; i < num; i++) {
                if (i < num - 1) {
                    document.getElementById("hidValue").value += document.getElementById('tel' + i).value + "|";
                }
                else {
                    document.getElementById("hidValue").value += document.getElementById('tel' + i).value;
                }
            }
        }  </script></head>
    <body>
    <form id="form1" runat="server">
      <input id="Button2" type="button" onclick="AddInput();" value="添加" />
     <p>
      <div id="dvInput"></div>
    </p>
      <input type="hidden" id="hidValue" runat="server" />
     <p>
      <asp:Button ID="Button1" onclientclick="getall()" runat="server"  onclick="Button1_Click" Text="提交" />
     </p>
    </form>
    </body>
    </html>
    .cs:using System;
    using System.Collections.Generic;using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;namespace ServerSentEvents.test
    {
        public partial class addinput : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {        }        protected void Button1_Click(object sender, EventArgs e)
            {
              
                Response.Write(this.hidValue.Value);
            }      
        }
    }
      

  9.   


    js提交数据,
    就是ajax提交数据,
    网上随便查查,都是一堆堆的说明和例子,
    目前AJAX应用几乎不分平台,
    只要是web程序都可以用
      

  10.   

    <script>
      var num=1;
    function AddInput()
    {  
      var str="";
      str+="<input type=\"text\" name ="tel" id=\"tel"+num+"\">";
      window.dvInput.innerHTML+=str;
      num++;
    }
    </script>  <input id="Button2" type="button" onclick="AddInput();" value="添加" />
      <asp:Button ID="Button1" onclick="Button1_Click" runat="server" Text="提交" />
      <div id="dvInput">
      </div>
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write(string.Join("|", Request.Form.GetValues("tel")));
    }
      

  11.   

    你传一个数组参数 用ajax或者直接用服务器控件后台获取不是很快么
      

  12.   

    1和3他们说能解决就用他们的方法吧。。
    关于第二。
    你在生成文本框的时候
    <input id="txtTmpxxxxx" style="textbox" />POST到后台,后台可以通过
    Request.Form["txtTmpxxxxx"]来获取。
    当你不知道key名字的时候。你可以通过NameValueCollection来获取。
      

  13.   

    既然是后台输出控件 在赋值 在保存,首先你的思路要搞懂,后台可以往前台输出字符串,这个应该知道吧,
    在后台定义一个全局字符串, 
    public string Str = "";
            protected void Page_Load(object sender, EventArgs e)
            {
           //这里写个方法 给Str字符串赋值,赋值的东西就是
       str+="<input id=\"Text1\" value=\""+你后台去的值记得这里一次性初始化+"\" name=\"保持一致\" type=\"text\ />";
          }前台这样显示到你要显示的地方
    <%=Str%>接收时 这样
    string  t=Request["这里写name"];
    t应该是按;隔开的字符串,自己分解在添加就好了