如何在ASPX页面上通过按钮添加多个TEXTBOX,并且提交时可以获得值
解决方案 »
- 母版页中的跨页传递问题
- 在aspx页中如何实现不刷新就能自动获取服务器端最新变动?
- 求助,请教各位高手一个问题
- 急急急!e.Item.Attributes.Add("ondblclick", "javascript:wr(" + e.Item.Cells(0).Text + ")")传中文出现错误!
- 如何解决多客户端访问数据库问题?
- 为什么我的开发环境不能引用Jmail.dll组件?
- CrystalReport不能自动更新数据问题
- 请教Asp.net中*.inc是一个什么文件?
- Label的字显示不完全(asp.net)
- 自定义服务器空间如何做到设计时支持?icyer等高手可否给点意见
- dropdownlist 三级或两级联动无刷新!
- 缓存存在客户端还是服务器?
然后用js读取里面的值。
function getTxt()
{
var obj=document.getElementsByName("txt");
var len=obj.length;
for(var i=0;i <len;i++)
{
var txtValue=obj[i].value; ---获得值
}
}
protected System.Web.UI.WebControls.PlaceHolder PlaceHolderExamPaper;在要加载文本框的位置写上:
TextBox TxtAnswer= new TextBox();PlaceHolderExam.Controls.Add(TxtAnswer);
protected System.Web.UI.WebControls.PlaceHolder PlaceHolderExamPaper; 在要加载文本框的位置写上:
TextBox TxtAnswer= new TextBox();
TxtAnswer.ID=文本框ID;PlaceHolderExam.Controls.Add(TxtAnswer);
string stxt = ((TextBox)Page.findControl(文本框ID)).text ;
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
</asp:PlaceHolder>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label> protected void Button1_Click(object sender, EventArgs e)
{
string result = string.Empty;
foreach( Control ctrl in PlaceHolder1.Controls )
{
if (ctrl.GetType () == typeof (TextBox ))
{
TextBox tb = ctrl as TextBox;
result = result + "," + tb.Text;
}
} if (result.Length > 0)
{
this.Label1.Text = result.Substring(1);
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TextBox.aspx.cs" Inherits="TextBox" %><!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 count=0;
function AddTextBox()
{
var div=document.getElementById('div');
div.insertAdjacentHTML("beforeEnd","<input type='text' id='txt"+count+"' name='txt"+count+"' /><br>");
count++;
}
function SetValue()
{
document.getElementById('<%=hidCount.ClientID %>').value=count;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="div">
</div>
<input type="button" id="btnAdd" value="增加" onclick="AddTextBox()" />
<asp:Button ID="btnSubmit" runat="server" Text="提交" OnClientClick="SetValue()" OnClick="btnSubmit_Click" />
<asp:HiddenField ID="hidCount" runat="server" />
</form>
</body>
</html>using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Collections.Generic;
using System.Text;
public partial class TextBox : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
hidCount.Value = "0";
}
//Response.Write(hidCount.Value+"<br>||<br>");
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
List<string> l = new List<string>();
int count = 0;
int.TryParse(hidCount.Value, out count);
for (int i = 0; i < count; i++)
{
l.Add(string.IsNullOrEmpty(Request.Form["txt" + i.ToString()]) ? null : Request.Form["txt" + i.ToString()]);
}
StringBuilder sb = new StringBuilder();
sb.Append("<script>document.getElementById('div').innerHTML=\"");
for (int i = 0; i < l.Count; i++)
{
sb.Append("<input type='text' id='txt" + i + "' name='txt" + i + "' value='" + (l[i] == null ? "" : l[i]) + "' /><br>");
}
sb.Append("\";count=" + hidCount.Value + ";</script>");
ClientScript.RegisterStartupScript(GetType(), "AddTextBox", sb.ToString());
}
}
再写一个方法: private void AddBlurAttribute(Control cntrl)
{
if (cntrl.Controls.Count > 0)
{
foreach (Control childControl in cntrl.Controls)
{
AddBlurAttribute(childControl);
}
} if (cntrl.GetType() == typeof(TextBox))
{
TextBox tb = (TextBox)cntrl;
tb.Attributes.Add("onBlur", ".....");
}
}
然后在page_Load中写上:
AddBlurAttribute(PlaceHolder1);
function AddTextBox()
{
var div=document.getElementById('div');
div.insertAdjacentHTML("beforeEnd","<input type='text' id='txt"+count+"' name='txt"+count+"' onblur='函数名();' /><br>");
count++;
}
HTML code <asp:PlaceHolder ID="PlaceHolder1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
</asp:PlaceHolder>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
C# code protected void Button1_Click(object sender, EventArgs e)
{
string result = string.Empty;
foreach( Control ctrl in PlaceHolder1.Controls )
{
if (ctrl.GetType () == typeof (TextBox ))
{
TextBox tb = ctrl as TextBox;
result = result + "," + tb.Text;
}
} if (result.Length > 0)
{
this.Label1.Text = result.Substring(1);
}
}
//添加事件
C# code private void AddBlurAttribute(Control cntrl)
{
if (cntrl.Controls.Count > 0)
{
foreach (Control childControl in cntrl.Controls)
{
AddBlurAttribute(childControl);
}
} if (cntrl.GetType() == typeof(TextBox))
{
TextBox tb = (TextBox)cntrl;
tb.Attributes.Add("onBlur", ".....");
}
} 我摘录的代码,给楼主看看哈.源文档 <http://topic.csdn.net/u/20090325/12/4f891768-01ae-4b03-8a68-1f833964bf1e.html>