前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jsp表单的批量提交

jsp表单的批量提交

作者头像
西门呀在吹雪
发布2020-11-09 10:09:10
1.4K0
发布2020-11-09 10:09:10
举报
文章被收录于专栏:架构之巅
代码语言:javascript
复制
<script type="text/javascript">
		baseBaseLineFormSubmit=function(data){
			 var startDate=$('#formSdate').datebox('getValue');
			 var endDate=$('#formEdate').datebox('getValue');
			 var json="[";
	       		<c:forEach items="${items}" var="list">
		       		var indexNo=$('#${list.id}indexNo').val();
				var requireItem=$('#${list.id}requireItem').val();
				var isPass=$('#${list.id}isPass').val();
				var remark=$('#${list.id}remark').val();
				var checkindexId=$('#${list.id}').val();
				$('#savaBaselineAction').form('submit',{
					url:'savaBaseline.action?checkIndex.id='+checkindexId+'&baselineDetail.isPass='+isPass+'&baselineDetail.remark='+enco					deURI(encodeURI(remark))
				});
			</c:forEach>  
				$.messager.alert('提示', '保存成功');       			
	</script>

如果数据量不大可以这样直接提交,如果数据一旦超过几十条那么会造成页面卡顿,同时ie会提示“此脚本运行时间过长,是否终止”,一旦点击是,那么表单就无法直接提交了;

对于有较多行的数据,可以将其拼凑成json 然后 提交,效率会大大的提高

注意在拼凑json的时候要注意符号的转义

代码语言:javascript
复制
<script type="text/javascript">
		baseBaseLineFormSubmit=f<c:forEach items="${list}" var="lists">
					var indexNo=$('#${lists.index.id}indexNo').val();
					var requireItem=$('#${lists.index.id}requireItem').val();
					var isPass=$('#${lists.index.id}isPass').val();
					var remark=$('#${lists.index.id}remark').val();
					var checkindexId=$('#${lists.index.id}').val();
			 		json+="{"+"\"indexNo\":"+"\""+indexNo+"\","+"\"id\":"+"\""+checkindexId+"\","+"\"remark\":"+"\""+remark+"\"},"
				</c:forEach>  
					json+="]"
						var params="BaseLineSaveJSON="+encodeURIComponent(json);
					 $.ajax({
						url:'savaBaseline.action?sercurityBaseline.startDate='+startDate+'&sercurityBaseline.endDate='+endDate+'&operateMethod='+data,
							type:'post',
							data:params,
							success: function(result){
						         var rArr = result.split(";");
						         if (rArr[0]=="false"){
						             $.messager.show({
						                 title: '错误提示:',msg: rArr[1]
						             });
										$('#baselinedlg').dialog('close');
										$('#BaselineListTab').datagrid('load'); 
						         } else {
						        	$.messager.alert('系统提示','保存成功!');
									$('#baselinedlg').dialog('close');
									$('#BaselineListTab').datagrid('load'); 
						         }
						    }
					});
				$.messager.alert('提示', '保存成功');
	</script>

记得要用post方式因为get会限制你提交的数据的大小;为了防止json中有各种特殊字符 建议对json进行编码

代码语言:javascript
复制
encodeURIComponent(json);

解决中文乱码 以及特殊字符无法保存 比如% 等

如果最后提示json格式有误的话那么可以去:http://www.bejson.com/go.php?u=http://www.bejson.com/index.php 将json数据放到里面校验一下,就会看到哪里错了

下一步是在后台对json进行处理

首先是duijson格式进行修改去除最后一个元素的逗号;然后将其转换为对应的对象的list ,剩下的就是对list进行遍历处理。

代码语言:javascript
复制
	String[] json_before=this.BaseLineSaveJSON.split("},]");
			String json=json_before[0]+"}]";
			JSONArray baseLineArray = JSONArray.fromObject(json);
			List<BaselineDetail> baseLineList = JSONArray.toList(baseLineArray, BaselineDetail.class);
代码语言:javascript
复制
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013/08/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档