如何在cs中获取用js动态创建的文本框中的值

milakou 2009-04-19 09:08:13
在js代码中动态的创建了一些文本框,文本框的个数不是固定的,由用户的输入控制,
for(var j=0;j<CompartmentNum;j++)
{
var td1 = document.createElement("td");
td1.innerHTML ='<input type="text" id="cxx' +j+ '" maxlength="30" size=1 value=""/>';
CompartmentRow.appendChild(td1);
}

因为我的id是这样声明的id="cxx' +j+ '",所以在后面加runat="server"会报错,在cs中用Request.Form[]得到的都是空值,请问有什么办法得到文本框中输入的值吗?
...全文
213 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉序员 2009-04-20
  • 打赏
  • 举报
回复
都在打廣告.
hncz_zhoumin 2009-04-20
  • 打赏
  • 举报
回复
学习中...
Jinglecat 2009-04-20
  • 打赏
  • 举报
回复
有没有办法通过id来获得呀?

==========

抱歉!!!没有!!!

这是 HTTP 协议!表单元素请加 name 属性,否则浏览器根本就不提交这个元素!
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hdt 的回复:]
input 添加name属性
服务器端Request["name"]
[/Quote]
正解
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hdt 的回复:]
服务器端的东西,客户端添加 < input runat="server">是没用的
[/Quote]
我也知道,只是试一下,
真相重于对错 2009-04-20
  • 打赏
  • 举报
回复
服务器端的东西,客户端添加< input runat="server">是没用的


sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cuizm 的回复:]
直接加runat="server"肯定会报错。
可以这样,如:
td1.innerHTML =' <input type="text" id="cxx' +j+ '" maxlength="30" size=1 value="" run' + 'at="server" />';

将runat="server"断开,如果不行,改变一下断开的位置,防止aspx页面解析的时候,直接解析,因为解析是在javascript调用之后才解析。


天狼工作室
http://www.j2soft.cn/
[/Quote]
这样子虽说能添加,但是到后台还不是取不出来值,我用的是FindControl,不知道还有没别的办法
zsuswy 2009-04-20
  • 打赏
  • 举报
回复
放一个控件如下
<input type="hidden" id="hidValue" runat="server" />
在客户端把你的值赋给这个控件的value,


然后再服务端就可以通过this.hidValue.Value拿到相应的值了。
bingy108 2009-04-20
  • 打赏
  • 举报
回复
支持二楼的做法。
milakou 2009-04-20
  • 打赏
  • 举报
回复
有没有办法通过id来获得呀?
皓月明 2009-04-20
  • 打赏
  • 举报
回复
对,只要知道你的文本框的name那么就可以用用REQUEST.FORM["NAME"] 来处理了
qwsf01115 2009-04-20
  • 打赏
  • 举报
回复
用REQUEST.FORM["NAME"]

取出来会是一个以","分隔字符串,你可以将这个字符串分解成数组。你自已分解出来就是每个文本框的值吧。
孤独的狼 2009-04-19
  • 打赏
  • 举报
回复
直接用document.getElementById(id).value就可以获取文本框里的值啊!
kfps8kfps8 2009-04-19
  • 打赏
  • 举报
回复
支持2楼
真相重于对错 2009-04-19
  • 打赏
  • 举报
回复
input 添加name属性
服务器端Request["name"]
射天狼 2009-04-19
  • 打赏
  • 举报
回复
直接加runat="server"肯定会报错。
可以这样,如:
td1.innerHTML =' <input type="text" id="cxx' +j+ '" maxlength="30" size=1 value="" run' + 'at="server" />';

将runat="server"断开,如果不行,改变一下断开的位置,防止aspx页面解析的时候,直接解析,因为解析是在javascript调用之后才解析。


天狼工作室
http://www.j2soft.cn/

62,267

社区成员

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

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

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

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