js 获取HTML控件的文本 在线等

uctalk8888 2009-01-06 02:24:10
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!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>JS添加文本框</title>
<script type="text/javascript">
var nText=1;
function expand()
{
nText ++;
var str = '选项' + nText +' <input type="text" name="File" style="width: 300px"/><BR> '
if(nText > 8)
document.all.button1.style.display= "none";
else
{ file.insertAdjacentHTML('BeforeEnd',str);}
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
选项1
<input type="text" name="File" style="width: 300px"/>
<div id="file"></div><br />
<input type="button" value="添加" onClick="expand();" id="button4" style="display:" runat="server"></div>
</form>
</body>
</html>


以上这段代码实现了JS动态添加文本框,
现在我行在后台得到各个文本框的值。 。 NAME都一样的 请问可以如何实现。 分不够明天再加
...全文
406 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuyiazl 2009-01-06
  • 打赏
  • 举报
回复
但是有点注意,

postback后 JS动态添加的input就初始化了....
xuyiazl 2009-01-06
  • 打赏
  • 举报
回复


我动态添加3个input 分别给值 1 2 3





string a = Request.Params["File"];

获取到的值

1,2,3


uctalk8888 2009-01-06
  • 打赏
  • 举报
回复
呵呵 用过了 但是我的效果跟你这个稍微有点差别
不过还是很谢谢你
alex_zs 2009-01-06
  • 打赏
  • 举报
回复
难道不是我的效果,请问楼主运行我的代码没有?
js 就能做到,何必用c#呢
tongling15 2009-01-06
  • 打赏
  • 举报
回复
Request.Form[""]
或者runat=server
燥动的心 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 niuniuhuang 的回复:]
Request.Form["File"]
[/Quote]
alex_zs 2009-01-06
  • 打赏
  • 举报
回复
楼主,拿分来,是这样的么

<!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" lang="gb2312">
<head>
<title> New Document </title>
<meta http-equiv="content-language" content="gb2312" />
<meta name="author" content="alex-zs(QQ:373646240)" />
<meta name="keywords" content="" />
<meta name="description" content="" />

</head>
<body>

<script language="javascript" type="text/javascript">
function SetInput(v)
{
if(isNaN(v))
{
alert("必须为数字");
return false;
}
document.getElementById("inputID").innerHTML="";
var str="";
for(var i=0;i<v;i++)
{
str+="<input type=\"text\" value=\""+i+"\"><input type='button' value='获取' onclick='showa(this);' /><input type='text' ><br />";
}
document.getElementById("inputID").innerHTML=str;
}
function showa(obj){
// alert("这里是对应文本框的值=="+obj);
var val = obj.previousSibling.value;
var next_input = obj.nextSibling;
next_input.setAttribute("value",val);
}
</script>
<span id="inputID">
</span>
在这里输入数量<input type="text" id="x" />
<input type="button" onclick="SetInput(document.getElementById('x').value)" value="添加"/>
</body>
</html>

jiang_jiajia10 2009-01-06
  • 打赏
  • 举报
回复
Request.Form["File"]
然后得到的结果用split(",")分割一下
wanghao3616 2009-01-06
  • 打赏
  • 举报
回复
用dom对象 不过你文本控件要加个id
zhuanshen712 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phper2008 的回复:]
用js动态添加的文本框在后台cs方法里是得不到值的,不行你试试看!

在服务器提交时捕捉不到js动态添加的html元素!

可以用 <asp:HiddenField>控件先记录text的值,然后在后台得到hid的值!
[/Quote]
对。忘了这个事儿了。你可以在js中将动态添加的值传给隐藏框,然后用后台取Request.Form("名称");
xuyiazl 2009-01-06
  • 打赏
  • 举报
回复
你的JS做法是动态添加N个 input

很显然 这样做的话 要在后太动态获取集合进行处理
sprc_lcl 2009-01-06
  • 打赏
  • 举报
回复
添加新控件:
<input type="hidden" id="txtForFile" runat="server" />

<input type="button" id="btnOK" value="确定" onclick="getfiles();" />

<script>
function getfiles()
{
var filesstr = '';
var inps = document.getElementsByName('File');
for(var i=0;i<inps.length;i++)
{
filesstr += inps[i].value+',';
}
document.getElementsById('txtForFile').value=filesstr;
}
</script>

//C#代码上取txtForFile.Value即可,再分解
xuyiazl 2009-01-06
  • 打赏
  • 举报
回复
获取name的集合

phper2008 2009-01-06
  • 打赏
  • 举报
回复
用js动态添加的文本框在后台cs方法里是得不到值的,不行你试试看!

在服务器提交时捕捉不到js动态添加的html元素!

可以用<asp:HiddenField>控件先记录text的值,然后在后台得到hid的值!
zhuanshen712 2009-01-06
  • 打赏
  • 举报
回复
现在我行在后台得到各个文本框的值。 。 NAME都一样的
=============
string sValue=Request.Form["控件Name"];
//sValue 是所有名称为“控件Name”的textbox的值,各个值之间以逗号分割
niuniuhuang 2009-01-06
  • 打赏
  • 举报
回复
Request.Form["File"]
lihongdian 2009-01-06
  • 打赏
  • 举报
回复
用id
然后runat=server
后台直接用就可以了.
SATAN1122 2009-01-06
  • 打赏
  • 举报
回复
为什么你要把NAME都设置成一样的?明显可以设置成不一样更方便取值··

62,041

社区成员

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

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

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

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