页面提交后不刷新
Posted zeevy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面提交后不刷新相关的知识,希望对你有一定的参考价值。
问题一:
项目中使用dwz进行弹框和页面跳转,主档为第一个页面,选择一条主档数据点击按钮查看明细,弹出第二个页面明细页面(该页面弹出框),在第二个页面总点击添加按钮,弹出第三个页面添加页面,在添加页面中添加数据成功后,自动关闭当前添加页面回到第二个页面明细页面,这时明细页面没有刷新(刷新了第一个页面)
解决办法(已解决,在项目controller层中方法末尾加上ajaxObject.setMessage("退回成功");这句代码后,会自动关闭弹框):
1 //在第二个页面中增加一个查询表单,id为bbform,在第三页面给表单添加id为aaform, 2 //提交表单改为onclick事件用js提交,代码为: 3 function aa(){ 4 $("#aafrom").submit(); 5 $("#bbform").submit(); 6 } 7 //解释,每次提交表单aaform时,都会提交一次第二个页面中的bbform表单,bbform表单为查询功能, 8 //这样就可以实现每次提交aaform时都会在第二个页面执行一次查询过过程
注意!这种方法刷新表单有时会失效,原因是两个form提交方式为异步提交,修改方式有两种:
1.在第一个表单中间提交后停顿0.5秒再提交第二个表单(不推荐)
2.关闭异步提交(推荐)
1 function aa(){ 2 $.ajaxSettings.async = false; 3 $("#aafrom").submit(); 4 $("#bbform").submit(); 5 $.ajaxSettings.async = true; 6 }
问题二:
主档为第一个页面,选择一条主档数据点击按钮查看明细,弹出第二个页面明细页面(该页面弹出框),在第二个页面总点击(审核/删除)按钮时,(审核/删除)完成后第二个页面没有自动刷新
解决办法:
1 //(审核/删除)功能使用ajax请求实现,请求成功后,状态为200说明操作成功,这时刷新指定页面 2 function deleteDetail(id){ 3 layer.confirm("确定删除吗?",function (index){ 4 $.ajax({ 5 url:"${ctx}/fcHydrantDetail/detaildelete/"+id, 6 dataType:‘json‘, 7 success:function(rst){ 8 if(rst.statusCode==‘200‘){ 9 var loadingIndex = Dialog.load(); 10 top.layer.msg("删除成功!", {icon : 1}); 11 $(‘#FcHydrantDialog11‘).load($(‘#FcHydrantDialog11‘).find(‘#pagerForm‘).attr(‘action‘), $(‘#FcHydrantDialog11‘).find(‘#pagerForm‘).serializeArray(), function() { 12 //layer.close(loadingIndex); 13 }); 14 }else{ 15 top.layer.msg("删除失败!", {icon : 2}); 16 } 17 } 18 }); 19 }) 20 }
注意,
$(‘#FcHydrantDialog11‘).load($(‘#FcHydrantDialog11‘).find(‘#pagerForm‘).attr(‘action‘), $(‘#FcHydrantDialog11‘).find(‘#pagerForm‘).serializeArray(), function() {});为刷新操作,如果页面有form表单为查询功能的话,可用 $("#search").submit();form表单提交来执行刷新操作
以上是关于页面提交后不刷新的主要内容,如果未能解决你的问题,请参考以下文章
Js Validator插件远程规则,用于在Ajax调用后不刷新页面不工作的唯一值检查
form提交后刷新又提交一次,怎么解决,重复提交,求高人解答
JavaScript在表单页面添加打印功能,打印表单中的值并打印完成后不刷新页面