JS动态添加的文本框,能否在回发之后,能够取得输入值,并且回发后,该文本框还能继续保持

mw515 2009-03-09 11:07:42
如题
...全文
225 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
limpid_123 2009-03-10
  • 打赏
  • 举报
回复
mark
2002pine 2009-03-10
  • 打赏
  • 举报
回复
在你的回发按钮上加上onclientclick事件, 在此js事件中,根据你动态加的文本框的ID,把它放到一个服务器端的隐藏文本中
然后在你的服务器的按钮事件中,调用这个隐藏文本值.
阿非 2009-03-10
  • 打赏
  • 举报
回复

<%@ 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());
}
}

zzc205 2009-03-10
  • 打赏
  • 举报
回复
需要模拟一下viewstate,把相关信息存到hiddenfiled来做保持和还原。
damdam91 2009-03-10
  • 打赏
  • 举报
回复
不可避免要刷新
ustbwuyi 2009-03-09
  • 打赏
  • 举报
回复

<body>
<form id="form1" runat="server">
<div>
<div id="divTextBox">
</div>
<asp:Button ID="btnView" runat="server" Text="View" OnClick="btnView_Click" />
</div>
</form>

<script language="javascript">
document.getElementById("divTextBox").innerHTML='<input id="txtView" name="txtView" type=text />';
</script>

</body>



protected void btnView_Click(object sender, EventArgs e)
{
string value = Request.Form["txtView"].ToString();
Response.Write(value);
}
chenyijiu 2009-03-09
  • 打赏
  • 举报
回复
添加的文本框是服务器控件吗?若是根据id取,不是则request取,回发后根据参数重新初始化

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧