将多个input合并成一个字符串提交给后台

需求

我在做我们的《软件工程》作业时,遇到了这样一个问题:我们需要打开一个表,这个表的列数不确定,但要增加增加行的操作。

实现

于是,需求产生了,我需要将前端的多个input标签内容合并成一个字符串来进行提交,我看了几个比较牛的方法(json、ognl……)但是好像与我们的需求偏的有点远(如果可以实现,欢迎留言),最后,没办法只能自己想,由于我还是会一点JavaScript的,所以我就想用JavaScript实现,在尝试了很多次之后,终于成功了,在此先贴上代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
function n(n){
var num="";
for(var i=0;i<n;i++){
num += document.getElementById("num"+i).value;
}
document.getElementById("result").value = num;
}
</script>
<%
int num=3;
%>
<form action="addAction">
<input id="num" name="num" value=<%=num %> type="text">
<%
for(int i=0;i<num;i++){
%>
<input id="num<%=i %>" type="text" onblur="n(<%=num%>)">
<%
}
%>
<input name="str" id="result" type="hidden" >
<button >提交</button>
</form>

分析

最后来分析,到底是怎么实现的,其实道理特别简单,就是JavaScript获取input的个数,然后一个循环,将所有input合并,并且给到一个“hidden”的input里,在后台接收这个input就可以了。



本文链接: http://home.meng.uno/articles/f12d3e70/ 欢迎转载!

© 2018.02.08 - 2020.06.02 Mengmeng Kuang  保留所有权利!

UV : | PV :

:D 获取中...

Creative Commons License