动态生成的单元格中的数据如何提交 动态生成的单元格中的数据如何提交? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 生成单元格的同时生成相应的hidden字段记录数据,递交时一起递交,或者,遍历表格,将td.innerHTML 用字符串连接起来xxx,xxx,xx,然后给一个hidden字段赋值后,递交数据 http://topic.csdn.net/u/20090912/17/f5a5c8fe-5ac4-41f9-b4e1-7e976a9b6995.html我在这个帖子的4楼已经发过了代码了。你看看吧 解决方式如下:在页面中设置一个变量【名称数字部分自加】,以及表的行数。每当js新增一行时,修改表的行数。提交到action中后,先获得表的行数,然后用for循环获取表中的值。页面部分如下:Java code<tr><td width="25%">零件名称</td><td width="25%">零件图号</td><td width="10%">单位</td><td width="10%">数量</td><td width="30%">生产厂家及标志td></tr><%int j=0;%><tr height="15px"><td><input type="hidden" name="msub_id<%=j %>"><input name="part_name<%=j %>" type="text" size="15"></td><td><input name="part_pic<%=j %>" type="text" size="12"></td><td><input name="units<%=j %>" type="text" size="10"></td><td><input name="amount<%=j %>" type="text" size="10"></td><td width="15%"><input name="prodc_factory<%=j %>" type="text" size="15"></td><td width="14%"><input name="prodc_logo<%=j %>" type="text" size="15"></td></tr><%j++;%><input type="hidden" name="count" value="<%=list1.size() %>"<input type="hidden" name="flag" value="1">//javascript部分var c=0;function addRow() { c= c+1; var i= table1.rows.length;//总行数,包括第一行 document.all("count").value=i; i= i-1; var f= document.all("flag").value;//删除“无数据显示!”if(f==0){if(c==1){ table1.deleteRow(1); i= i-1; } document.all("count").value= i+1; } newRow=table1.insertRow(table1.rows.length); newRow.bgcolor='#CCCCCC'; c0=newRow.insertCell(0); c1=newRow.insertCell(1); c2=newRow.insertCell(2); c3=newRow.insertCell(3); c4=newRow.insertCell(4); c5=newRow.insertCell(5); c0.innerHTML="<td height=\"15px\"><div align=\"center\"><input name='part_name"+i+"' type='text' size='15'></div></td>"; c1.innerHTML="<td ><div align=\"center\"><input name='part_pic"+i+"' type='text' size='12'></div></td>"; c2.innerHTML="<td ><div align=\"center\"><input name='units"+i+"' type='text' size='10'></div></td>"; c3.innerHTML="<td ><div align=\"center\"><input name='amount"+i+"' type='text' size='10'></div></td>"; c4.innerHTML="<td width=\"14%\"><div align=\"center\"><input name='prodc_factory"+i+"' type='text' size='15'></div></td>"; c5.innerHTML="<td width=\"14%\"><div align=\"center\"><input name='prodc_logo"+i+"' type='text' size='15'></div></td>"; }后台代码:Java codetry{ List list=new ArrayList();//故障原件 String countStr= request.getParameter("count");int count= Integer.parseInt(countStr);for(int i=0;i<count;i++){ Mainlist_sub msub=new Mainlist_sub(); String part_name= request.getParameter("part_name"+i); String part_pic= request.getParameter("part_pic"+i); String units= request.getParameter("units"+i); String amount= request.getParameter("amount"+i); String prodc_factory= request.getParameter("prodc_factory"+i); String prodc_logo= request.getParameter("prodc_logo"+i); String re2_1= request.getParameter("re2_1"); msub.setPart_name(part_name); msub.setPart_pic(part_pic); msub.setUnits(units); msub.setAmount(null!=amount?amount:""); msub.setProdc_factory(prodc_factory); msub.setProdc_logo(prodc_logo); msub.setFlag("1"); msub.setRe(re2_1); msub.setCreate_date(fdbck_date); list.add(msub); }以上代码只是贴出了大概,原本的代码要比上面的复杂好多倍。楼主要自己好好琢磨。 求一条正则表达式 用Flash+ActionScript怎么根据XML数据画出很多水平线段? 简单问题,数组排序 openlayers mousedown map change cursor 默认为move 改为 pointer 关于jqGrid reload的问题 小问题 请大家帮一下? 不知道哪里错了 radio单选按纽的问题..(急...) 一个简单的弹出窗口问题 解密JS,麻烦高手们帮帮忙。 javascript正则表达式的匹配条件问题
或者,遍历表格,将td.innerHTML 用字符串连接起来xxx,xxx,xx,然后给一个hidden字段赋值后,递交数据
在页面中设置一个变量【名称数字部分自加】,以及表的行数。每当js新增一行时,修改表的行数。
提交到action中后,先获得表的行数,然后用for循环获取表中的值。页面部分如下:
Java code<tr><td width="25%">零件名称</td><td width="25%">零件图号</td><td width="10%">单位</td><td width="10%">数量</td><td width="30%">生产厂家及标志td></tr><%int j=0;%><tr height="15px"><td><input type="hidden" name="msub_id<%=j %>"><input name="part_name<%=j %>" type="text" size="15"></td><td><input name="part_pic<%=j %>" type="text" size="12"></td><td><input name="units<%=j %>" type="text" size="10"></td><td><input name="amount<%=j %>" type="text" size="10"></td><td width="15%"><input name="prodc_factory<%=j %>" type="text" size="15"></td><td width="14%"><input name="prodc_logo<%=j %>" type="text" size="15"></td></tr><%j++;%><input type="hidden" name="count" value="<%=list1.size() %>"<input type="hidden" name="flag" value="1">//javascript部分var c=0;
function addRow() {
c= c+1;
var i= table1.rows.length;//总行数,包括第一行 document.all("count").value=i;
i= i-1; var f= document.all("flag").value;//删除“无数据显示!”if(f==0){if(c==1){
table1.deleteRow(1);
i= i-1;
}
document.all("count").value= i+1;
} newRow=table1.insertRow(table1.rows.length);
newRow.bgcolor='#CCCCCC';
c0=newRow.insertCell(0);
c1=newRow.insertCell(1);
c2=newRow.insertCell(2);
c3=newRow.insertCell(3);
c4=newRow.insertCell(4);
c5=newRow.insertCell(5);
c0.innerHTML="<td height=\"15px\"><div align=\"center\"><input name='part_name"+i+"' type='text' size='15'></div></td>";
c1.innerHTML="<td ><div align=\"center\"><input name='part_pic"+i+"' type='text' size='12'></div></td>";
c2.innerHTML="<td ><div align=\"center\"><input name='units"+i+"' type='text' size='10'></div></td>";
c3.innerHTML="<td ><div align=\"center\"><input name='amount"+i+"' type='text' size='10'></div></td>";
c4.innerHTML="<td width=\"14%\"><div align=\"center\"><input name='prodc_factory"+i+"' type='text' size='15'></div></td>";
c5.innerHTML="<td width=\"14%\"><div align=\"center\"><input name='prodc_logo"+i+"' type='text' size='15'></div></td>";
}
后台代码:
Java codetry{
List list=new ArrayList();//故障原件 String countStr= request.getParameter("count");int count= Integer.parseInt(countStr);for(int i=0;i<count;i++){
Mainlist_sub msub=new Mainlist_sub();
String part_name= request.getParameter("part_name"+i);
String part_pic= request.getParameter("part_pic"+i);
String units= request.getParameter("units"+i);
String amount= request.getParameter("amount"+i);
String prodc_factory= request.getParameter("prodc_factory"+i);
String prodc_logo= request.getParameter("prodc_logo"+i);
String re2_1= request.getParameter("re2_1");
msub.setPart_name(part_name);
msub.setPart_pic(part_pic);
msub.setUnits(units);
msub.setAmount(null!=amount?amount:"");
msub.setProdc_factory(prodc_factory);
msub.setProdc_logo(prodc_logo);
msub.setFlag("1");
msub.setRe(re2_1);
msub.setCreate_date(fdbck_date);
list.add(msub);
}以上代码只是贴出了大概,原本的代码要比上面的复杂好多倍。
楼主要自己好好琢磨。