用了js弄了insertRow的方法动态插入行和列,怎么写Action把数据保存到数据库

m405509283 2015-10-15 09:05:21
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=GBK">
<script type="text/javascript">

function AddRow()
{
//添加一行
var i =tab1.rows.length;
var Nam="'div1'";
var Cod="fuJ"+i;
var newTr = tab1.insertRow();
//添加列
var newTd0 = newTr.insertCell();
var newTd1 = newTr.insertCell();
var newTd2 = newTr.insertCell();
var newTd3 = newTr.insertCell();
var newTd4 = newTr.insertCell();
//设置列内容和属性
newTd0.innerHTML = '<input type="checkbox" id="box1" onClick="GetRow()"/ /><input type="hidden" name="fuJ" id='+Cod+' />';
newTd1.innerHTML = '<input type="text" name="name" id="txtName"/>';
newTd2.innerHTML = '<input type="text" name="remarks" id="remarks"/>';
newTd3.innerHTML = '<SELECT ID="bbb" NAME="ComboBox1"><OPTION>请选择</OPTION><OPTION>整数</OPTION><OPTION>小数</OPTION><OPTION>字符</OPTION></SELECT>';
newTd4.innerHTML = '<input type="text" name="length" id="length"/>';
}
function DelRow()
{
//删除一行
var shu=0;
var cheCou=document.all("box1");
for(var i=0;i<cheCou.length;i++)
{
if (cheCou[i].checked==true)
{
shu++;
}
}
if(shu==cheCou.length)
{
alert('请输入内容');
return;
}
else if(shu==0)
{
alert('请选择你要删除的信息');
return;
}
else if(shu==1)
{
for(var i=0;i<cheCou.length;i++)
{
if(cheCou[i].checked==true)
{
tab1.deleteRow(i+1);
}
}
}
else if(shu>1)
{
for(var a=0;a<shu;a++)
{
for(var i=0;i<cheCou.length;i++)
{
if(cheCou[i].checked==true)
{
tab1.deleteRow(i+1);
break;
}
}
}
}
}
function GetRow()
{
cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex;
}
</script>
</head>
<body>
<form name="form1" action="socket" method="post" >
<center>
<fieldset>
<legend><strong>报文信息</strong></legend>
<input type=hidden id="hid" name="hid"/ />
<table id="tab1" align="center" border="1" cellPadding="4" cellSpacing="0" style="width:95%;word-break: break-all">
<thead>
<tr>
<th align="center" width="10%">选择</th>
<th align="center" width="15%">名称</th>
<th align="center" width="15%">内容</th>
<th align="center" width="15%">类型</th>
<th align="center" width="15%">长度</th>
</tr>
</thead>
<tr >
<td><input type=checkbox id="box1" onClick="GetRow()" />
<input type="hidden" name="fuJ" id="fuJ1" />
</td>
<td><input type="text" name="name" id="txtName"/></td>
<td><input type="text" name="remarks" id="remarks"/></td>
<td>
<SELECT ID="bbb" NAME="ComboBox1">
<OPTION>请选择</OPTION>
<OPTION>整数</OPTION>
<OPTION>字符</OPTION>
<OPTION>小数</OPTION>
</SELECT>
</td>
<td><input type="text" name="length" id="length"/></td>
</tr>

</table>
<table align="center" border="1" cellPadding="4" cellSpacing="0" style="width:95%;word-break: break-all">
<tr>
<td align="right">
<input type="button" name="Submit" value="增加一行" onclick="javascript:AddRow();" />
<input type="button" name="Submit" value="删除一行" onclick="javascript:DelRow();" />
</td>
</tr>
</table>
<input type="submit" value="确认发送"/>
</form>
</body>
</html>

我知道后台可以用request.getParameterValues("");方法获取,但是获取到的都是同一列的值在数组中,而不是同一行的值,这样没法按条保存到数据库中,请问大神们,该用什么方法从后台传参???急求,在线等
...全文
225 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
haiyun2600 2015-10-15
  • 打赏
  • 举报
回复
request.getParameterValues("");是通过前台对应的name获取数据,只能为String类型,你可以在前台将要提交的数据重新封装成一个字符串,到后台在解析出来。 如果你用的struts2框架,在后台可以直接以对象的形式获取前台传过来的数据(get set 方式)
slwsss 2015-10-15
  • 打赏
  • 举报
回复
后台 spit 用索引取值 或者 提交前重新组织下数据用ajax提交或者把数据放隐藏域提交

87,888

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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