使用layer的iframe层提交表单后,需要关闭当前的iframe层,然后刷新父页面的方法2
<input type="button" onclick="edit(${it.id?c})"
class="layui-btn layui-btn-normal layui-btn-sm" value="编辑">
function edit(id) {
//iframe层
layer.open({
type: 2,
title: '编辑服务商',
shadeClose: true,
shade: 0.8,
area: ['650px', '550px'],
content: '/serprovider/getSerproviderById?id=' + id //iframe的url
});
}
@RequestMapping(value = "/getSerproviderById", method = RequestMethod.GET)
public ModelAndView getSerproviderById(@RequestParam(value = "id", required = true) Integer id) {
ModelAndView modelAndView = new ModelAndView();
ServiceProvider serviceProvider = serviceProviderService.getSerproviderById(id);
modelAndView.addObject("info", serviceProvider);
modelAndView.setViewName("serprovider/getSerproviderById");
return modelAndView; }
<!-- 内容主体区域 -->
<form class="layui-form" action="#" method="post">
<div class="layui-form-item">
<label class="layui-form-label">供应商名称<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input type="text" name="providerName" required lay-verify="required" placeholder="请输入供应商名称"
value="${info.providerName!}"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">公司名称<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input type="text" name="providerCompany" required lay-verify="required"
value="${info.providerCompany!}"
placeholder="请输入公司名称"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">联系人<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input type="text" name="linkMan" required lay-verify="required" placeholder="请输入联系人"
value="${info.linkMan!}"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">联系电话<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input type="text" name="cellphone" required lay-verify="required|number" placeholder="请输入联系电话"
value="${info.cellphone!}"
autocomplete="off" class="layui-input">
</div>
</div> <div class="layui-form-item">
<div class="layui-input-block">
<input type="hidden" name="id" value="${info.id?c}">
<button lay-submit lay-filter="go"
class="layui-btn layui-btn-normal ">提交
</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script>
layui.use('element', function () {
var element = layui.element;
});
layui.use('form', function () {
var form = layui.form;
// 这个是在iframe里面的js代码
var frameindex = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
form.on('submit(go)', function (data) {
console.log(data.field); //当前容器的全部表单字段,名值对形式:{name: value}
var index = layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
var url = '/serprovider/saveEditServiceProvider';
$.post(url, data.field, function (ev) {
if (ev.code == 200) {
layer.msg(ev.msg);
parent.location.href = "/serprovider/getServiceProviderList";
} else {
layer.close(index);
layer.msg(ev.msg);
}
}, 'json')
//发送ajax
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
});
</script>
@RequestMapping(value = "/saveEditServiceProvider", method = RequestMethod.POST)
@ResponseBody
public Map saveEditServiceProvider(ServiceProvider serviceProvider) {
boolean flag = serviceProviderService.saveEditServiceProvider(serviceProvider);
Map map = new HashMap();
if (flag) {
map.put("code", 200);
map.put("msg", "更改成功");
} else {
map.put("code", "500");
map.put("msg", "更改失败,代码错误");
}
return map;
}
使用layer的iframe层提交表单后,需要关闭当前的iframe层,然后刷新父页面的方法2的更多相关文章
- iframe中使用模态框提交表单后,iframe加载父页面的解决方法
在iframe中使用模态框提交表单后,会出现iframe加载整个父页面的问题,如下图: 解决方法: 在form表单中添加target属性 _parent 这个属性会使目标文档载入父窗口或者包含来超链接 ...
- Form提交表单后页面刷新不跳转的实现
<form action="" id="" method="post" target="nm_iframe"> ...
- 用HTTP状态码实现提交表单后刷新页面不重复提交
正常情况下,表单提交后如果用户刷新页面会重复提交表单,有些情况下我们不希望表单重复提交,利用HTTP协议中的307状态码重定向页面可以实现这个目的.实例如下: 表单页面代码: <form act ...
- 利用ajaxSubmit()方法实现Form提交表单后回调
1. 背景 最近在工作中,需要实现网页端图片上传到FTP服务器的功能.上传文件是用Form表单提交数据的方法向后台传输文件流,在此遇到了一个问题:后台在处理完图片上传功能后,需要向前台回传是 ...
- 使用iframe实现提交表单不刷新页面
正常情况下,当你向服务器发送数据的时候,你的浏览器将会打开action页面,并且不会重回到当前页面.但是有的时候,我们因为各种各样的要求,而不希望浏览器在提交数据的时候去刷新当前的页面或者转向到新的页 ...
- submit提交表单后,不刷新当前页面
<form method="get" target="test" action="a.html"> <input type ...
- laravel中,提交表单后给出提示例如添加成功,添加失败等等
laravel中的表单插入,我想在表单插入成功后,可以像thinkphp一样可以有一个提示内容,上网Google,他们还是给出的方法就是 return redirect('/')->with(' ...
- 利用iframe实现提交表单是页面部分刷新
直接上代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...
- from提交表单后 数据提交到后台 但不跳转页面 可用iframe
可以页面事先加载被隐藏的iframe标签,或者等到需要的时候通过js生成,再提交,提交之前,form的target指向iframe(我是要实现新页面生成的时候程半透明状态,所以用了后者的方法) 代码如 ...
随机推荐
- 固定table的表头同时固定列
table表格是我们最常使用的数据显示一种形式,但有时候数据比较多的时候 就需要我们去固定表头,固定列.我这里用简单的css样式配合两句js脚本来实现,希望能够去帮到你. <div class= ...
- js控制台输出图案
控制台输出图案 console.log([ " _ooOoo_", " o8888888o", " 88\" . \"88&quo ...
- django实现事务
1.导入模块 from django.db import transaction 2.使用方法 with transaction.atomic(): User.objects.create(name= ...
- python练手习题
不断记录python常见习题,不断寻求更多更好的解决办法.持续更新中..... 练习: 1. list两两元素交换位置,如[1,2,3,4,5,6] 执行后为 -> [2,1,4,3,6,5] ...
- Go语言之反射(二)
反射的值对象 反射不仅可以获取值的类型信息,还可以动态地获取或者设置变量的值.Go语言中使用reflect.Value获取和设置变量的值. 使用反射值对象包装任意值 Go语言中,使用reflect.V ...
- RF,GBDT,XGBoost,lightGBM的对比
转载地址:https://blog.csdn.net/u014248127/article/details/79015803 RF,GBDT,XGBoost,lightGBM都属于集成学习(Ensem ...
- 项目中的小点_java项目某jsp页面报404
1.将项目文件夹直接放在tomcat服务器的webapps路径下 2.从一个tomcat服务器webapps下拷贝一个项目到另一个tomcat服务器webapps路径下 3.重启tomcat后,访问新 ...
- MySQL出现错误1045,用户无法连接
1.root用户可以登陆进去 假设新建了个sqlin用户,但是无法用此用户连接MySQL 这个时候root用户可以登录吧,root用户登录进去,重新修改该用户的密码,执行语句 use mysql; u ...
- [oldboy-django][2深入django]cookies + session
1.1 cookies - 初识cookie a.cookie是保留在浏览器端的键值对 b.服务端可以向客户端写cookie c.客户端每次发送请求,会携带cookie一起发送过去,而且cookie是 ...
- node中fileSystem改promise
请注意,fs的大部分函数回调只会返回一个error参数,所以只要判断error为false的情况下就返回成功,无论有没有第二个参数. 另外exists需要单独包装,因为第一个参数就代表返回内容 con ...