js生成的动态输入框在Struts2的action中如何获取所有的value

现在的情况是,JSP页面已经实现了动态添加输入框,并且每个输入框都是用(item+i),i=1,2,3……来标记name。但是如何在action中来获取到所有动态生成的输... 现在的情况是,JSP页面已经实现了动态添加输入框,并且每个输入框都是用(item+i),i=1,2,3……来标记name。但是如何在action中来获取到所有动态生成的输入框的值。另外说明一点的是,jsp上的这种动态输入框是一次生成两个,也就是键值对形式的,key:item+i,value:money+i。这样在action中如何获取到所有键值对。高手们有什么可行的方案,还望指导,谢谢!下面是相关jsp部分代码:
<script language="javascript">
function add(){
//取得表格
var table = document.getElementById("table1");
//取得行数;
var num = table.rows.length;
//增加一行
var newrow1 = table.insertRow(num-1);
var cell1 = newrow1.insertCell();
var cell2 = newrow1.insertCell();

//增加行元素
var inputcell1 = document.createElement("<input name=''>");
cell1.appendChild(inputcell1);
var inputcell2_1 = document.createElement("<input name=''>");
var inputcell2_2 = document.createElement("<input type='button' value='删除元素'onClick='del(this);'/>");
cell2.appendChild(inputcell2_1);
cell2.appendChild(inputcell2_2);
//刷新标签显示
frash();
}
function del(obj){
//取得按钮所在行
var i = obj.parentNode.parentNode.rowIndex;
var tab = document.getElementById("table1");
var num = tab.rows.length;
if(num>3)
//删除按钮所在行
tab.deleteRow(i);
frash();
}
function frash(){
var table = document.getElementById("table1");
var num = table.rows.length;
//计算动态元素个数
var n = num-2;
for(i=2;i<=n;i++){
//设置标签值
// table.rows[i].cells[0].innerText="元素"+i+"属性A";
//设置属性值
table.rows[i].cells[0].childNodes[0].setAttribute("name","item"+i);
//table.rows[i].cells[2].innerText="元素"+i+"属性B";
table.rows[i].cells[1].childNodes[0].setAttribute("name","money"+i);
}
}
</script>
<body>
<s:form action="testItem" namespace="/" method="post">
<table id="table1" width="60%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>支出项目</td>
<td>预算经费</td>
</tr>
<tr>
<td><input name="item1"/></td>
<td><input name="money1"/></td>
</tr>
<tr>
<td colspan="2" align="center"><a href="#" onclick="add();">添加</a></td>
</tr>
</table>
</s:form>
我的是动态生成的输入框,个数是不确定的,不知道有几个input,而且我最终要全部收集起来弄成一个集合,最好能给出具体代码,急需做法,而不是泛泛而谈,谢谢!
展开
 我来答
crazylaa
2010-05-25 · TA获得超过234个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:284万
展开全部
你的动态生成的setAttribute("name","item"+i);
这里的name,不要用不同的名字,用相同的名字。
然后在action里面定义一个String数组并提供get/set方法。
那么提交后就能在action中直接操作这个数组了。

代码没有。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
酎本地
2010-05-24
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
弄成一个集合? 可不可以把相同类型的都定义成一个名字 然后再struts中定相应的list集合
如:input name="money" 然后在action中定义List<String>money 和相应的set get方法 struts会自动把对应的集合赋值吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zpsailor
2010-05-21 · TA获得超过2018个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:668万
展开全部
request.getParameterValues()获得一个数组,这个数组中的值是由表单提交过来的所有数据的值组成的。建议你有问题的时候看下javaEE的文档,现在中文文档好像只有网站能查到,给你推荐个网站:http://doc.java.sun.com/DocWeb/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式