使用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(我是要实现新页面生成的时候程半透明状态,所以用了后者的方法) 代码如 ...
随机推荐
- 在windows server 2008 64位服务器上配置php环境
1.安装windows2008 R2 46位 安装2008 R2 关键步骤,网上有很多诸如此类的安装介绍.在些南昌网站建设公司百恒网络工程师就不作详细介绍.关键是要选择适合实际应用的部署. 2. ...
- 服务端Latex解析成图片或者HTML或者SVG方案
Latex公式表达式在服务端进行转换成可用数据 使用语言与扩展 node.js Mathjax (文档链接) MathJax在nodejs上解决方案 mathjax/MathJax-node(GitH ...
- 科学计算库Numpy——排序
矩阵按维度排序 使用np.sort()进行排序. 排序索引值 使用np.argsort()排序,返回排序后的索引值. 备注:array1[1,2]=1.2,array1[1,0]=5.6,array1 ...
- stm32的systick原理与应用
/* SysTick滴答定时器 一.功能 SysTick定时器是一个简单的定时器,CM3\CM4内核芯片都具备此定时器.SysTick定时器常用来做延时,采用实时系统时则用来做系统时钟.无论用作延时还 ...
- hihocoder1015 kmp算法
#1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...
- The DOM in JavaScript
DOM : Document Object Model D is for document : The DOM cant work without a document . When you c ...
- TCP/IP网络编程之优于select的epoll(一)
epoll的理解及应用 select复用方法由来已久,因此,利用该技术后,无论如何优化程序性能也无法同时接入上百个客户端.这种select方式并不适合以web服务端开发为主流的现代开发环境,所以要学习 ...
- Python框架之Django学习笔记(十三)
Django站点管理(续1) 上次介绍了Django的站点管理的一些基础知识,这次再来深入了解一下Django的站点管理. Admin是如何工作的: 在幕后,管理工具是如何工作的呢? 其实很简单. 当 ...
- 利用js阻止表单提交
(1) return false <form name="loginForm" action="login.aspx" method="post ...
- MD5碰撞
if ( $_POST['param1'] !==$_POST['param2'] && md5($_POST['param1']) === md5($_POST['param2']) ...