马上结贴的问题。。。
我有一个5行的table,里面是一条数据的其中5个字段,每行有一个textbox控件,一个按钮,用来动态添加文本框的(用js生成,否则会有闪),但是每行只能生成一个文本框。当用户提交以后分别获取这些js生成的文本值,当然有的有值有的没有值,并把这些值插入到相应的数据库字段里面。 期待高手解决,解决马上结贴~ 问题点数:100、回复次数:10Top
1 楼songxiaozhao(雨朋)回复于 2006-03-08 11:30:23 得分 15
没怎么明白,帮你顶一个Top
2 楼yipiaoqingshui(一瓢清水)回复于 2006-03-08 11:30:49 得分 15
这些生成的文本你是不是可以获取到她的值,你按照,分隔开来.然后存到一个 隐藏的控件值里面.然后.CS里面获取到.然后spilt(",")就分别取值了.Top
3 楼hdt(倦怠)回复于 2006-03-08 11:33:04 得分 10
http://www.caae.com.cn/hdt/ajaxgrid/webform1.aspxTop
4 楼nekiy(云淡风清)回复于 2006-03-08 12:58:50 得分 0
可以通过
<script language="javascript">
Function.prototype.bind = function(o)
{
var self = this;
var arg = Array.prototype.slice.apply(arguments,[1]);
return function(){
self.apply(o,arg);
}
}
var inputs = document.getElementById("tbl").getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
var f = function(i){
var box = "<input type='text' name='textbox"+i+"'/>";
this.parentNode.nextSibling.innerHTML = box;
}
inputs[i].onclick= f.bind(inputs[i],i);
}
</script>
点击按钮时可以显示一个文本框,在后台可以通过request.form[TextBoxname]来获取值吗??
Top
5 楼nekiy(云淡风清)回复于 2006-03-08 13:19:22 得分 0
请高手帮帮忙啊~~~!
js生成的文本框是不能取得它的值吗????????
request.form[TextBoxname]也不可以吗???????Top
6 楼lidong6(立冬)回复于 2006-03-08 13:30:23 得分 8
把他的值放到隐藏控件中.<input type=hidden...>Top
7 楼nekiy(云淡风清)回复于 2006-03-08 13:53:14 得分 0
help~~~~~~~~~~~~~~~~~~~`
SOS....................Top
8 楼nameone(过客)回复于 2006-03-08 14:20:49 得分 5
UPTop
9 楼liupeng1981(葵花点穴手~!!)回复于 2006-03-08 14:31:33 得分 10
name 可以重名,你在后台 通过Request.form["name"]//文本框name
可以获得以逗号分割的文本框的值 在拆分就可以了
Top
10 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2006-03-08 15:25:27 得分 37
首先把你这个东西封装为一个WebControl,不要觉得这个麻烦,一旦你这样做了以后这东西就可以扩展和复用了。
如何封装?我会这样设计。首先这个WebControl的根元素是<table>,同时它实现INamingContainer接口,如果你要和数据打交道那就加上数据绑定相关的属性,Render()时也就按照一般的方式进行,反正这看起来像一个轻量级的DataGrid/GridView。然后就是关键部分也就是动态添加部分了,我不确认客户端动态生成的控件如果服务器端接收到Postback时生成同名控件是否能成功Load到原数据,所以我建议你把整个<table>里的数据保存到hidden里面,这个hidden是runat="server"的,你封装的WebControl从这个hidden(实际上是别为HtmlGenericControl)中读取数据并映射到对应的属性上去。
至于数据库方面,最标准的做法当然是:数据层<->业务逻辑层<->页面上的DataSource控件<->你封装的那个WebControl的Bindable属性。因为那些Bindable属性与hidden中的数据的映射由WebControl内部的逻辑完成,所以一旦控件做好以后要复用会很方便,和普通的支持数据绑定的控件一样用。Top




