使用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(我是要实现新页面生成的时候程半透明状态,所以用了后者的方法) 代码如 ...
随机推荐
- java中的继承 (2013-10-11-163 写的日志迁移
继承:为了解决代码重用 定义: 子类通过继承父类,可以调用父类中非私有的属性和方法,达到重用的目的,通过关键字extends实现: ################以下为代码演示: class A ...
- Python中列表的深浅拷贝
copy_lst = [ ('py对象三要素',), ('== 比较运算符',), ('is 身份运算符',), ('小数据池',), ('列表的浅拷贝',), ('列表的深拷贝',), ] py对象 ...
- 用django实现邮件发送
settings配置 EMAIL_HOST = 'smtp.qq.com' # 如果是163换成stmp.163.com EMAIL_PORT = 465 # qq邮箱的端口 EMAIL_HOST_U ...
- [BZOJ3684][拉格朗日反演+多项式求幂]大朋友和多叉树
题面 Description 我们的大朋友很喜欢计算机科学,而且尤其喜欢多叉树.对于一棵带有正整数点权的有根多叉树,如果它满足这样的性质,我们的大朋友就会将其称作神犇的:点权为\(1\)的结点是叶子结 ...
- [项目2] 10mins
1.准备工作 M层:生成虚假数据 from django.db import models from faker import Factory # Create your models here. c ...
- Proguard returned with error code 1. See console
满世界的bug. 微信支付,Windows的远程桌面. Android的 , Proguard returned with error code 1. See console解决办法" 真的 ...
- 二维数组的动态分配(new)、初始化(memset)和撤销(delete)
来自http://blog.csdn.net/maverick1990/article/details/22829135 一维数组 动态分配,int *array = new int[10] 初始化, ...
- crt 和 Windows之间传输大文件
crt 通过rz.sz基于Zmodem传输协议最大支持4GB的文件,超过这个大小有两种方式(目前已知) 1.通过自带的FTP,如果是直连可以通过这种方式 调出crt会话窗口,然后通过组合键 Alt+p ...
- web自动化测试:watir+minitest(二)
环境搭建: 我已经安装了一台全新的win7虚拟机.下面将开始搭建watir环境. 安装包清单. 安装ruby.执行rubyinstaller-2.2.4-x64.exe 选择语言: 勾选添加到环境变量 ...
- mybatis的使用及详解
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...