<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的更多相关文章

  1. iframe中使用模态框提交表单后,iframe加载父页面的解决方法

    在iframe中使用模态框提交表单后,会出现iframe加载整个父页面的问题,如下图: 解决方法: 在form表单中添加target属性 _parent 这个属性会使目标文档载入父窗口或者包含来超链接 ...

  2. Form提交表单后页面刷新不跳转的实现

    <form action="" id="" method="post" target="nm_iframe"> ...

  3. 用HTTP状态码实现提交表单后刷新页面不重复提交

    正常情况下,表单提交后如果用户刷新页面会重复提交表单,有些情况下我们不希望表单重复提交,利用HTTP协议中的307状态码重定向页面可以实现这个目的.实例如下: 表单页面代码: <form act ...

  4. 利用ajaxSubmit()方法实现Form提交表单后回调

    1.      背景 最近在工作中,需要实现网页端图片上传到FTP服务器的功能.上传文件是用Form表单提交数据的方法向后台传输文件流,在此遇到了一个问题:后台在处理完图片上传功能后,需要向前台回传是 ...

  5. 使用iframe实现提交表单不刷新页面

    正常情况下,当你向服务器发送数据的时候,你的浏览器将会打开action页面,并且不会重回到当前页面.但是有的时候,我们因为各种各样的要求,而不希望浏览器在提交数据的时候去刷新当前的页面或者转向到新的页 ...

  6. submit提交表单后,不刷新当前页面

    <form method="get" target="test" action="a.html"> <input type ...

  7. laravel中,提交表单后给出提示例如添加成功,添加失败等等

    laravel中的表单插入,我想在表单插入成功后,可以像thinkphp一样可以有一个提示内容,上网Google,他们还是给出的方法就是 return redirect('/')->with(' ...

  8. 利用iframe实现提交表单是页面部分刷新

    直接上代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...

  9. from提交表单后 数据提交到后台 但不跳转页面 可用iframe

    可以页面事先加载被隐藏的iframe标签,或者等到需要的时候通过js生成,再提交,提交之前,form的target指向iframe(我是要实现新页面生成的时候程半透明状态,所以用了后者的方法) 代码如 ...

随机推荐

  1. C++构造函数实例——拷贝构造,赋值

    #define _CRT_SECURE_NO_WARNINGS //windows系统 #include <iostream> #include <cstdlib> #incl ...

  2. C++从键盘读入数组并存储

    C++从键盘读取任意长度的数组,现总结如下: //读取指定长度的数组 int main() { int n = 0; cin >> n; vector<int> p(n); f ...

  3. complex类的定义、实现

    复数类complex的定义.实现(求模.复数加法) #include <iostream> #include <cmath> using namespace std; clas ...

  4. 设计模式之第14章-命令模式(Java实现)

    设计模式之第14章-命令模式(Java实现) “小明,滚出去.”“小明,这个问题怎么做?”(可怜的小明无奈躺枪.小明:老师,我和你有什么仇什么怨,我和你有什么仇什么怨啊到底...老师:小明,滚出去.习 ...

  5. manjaro安装anaconda出错

    出错信息: ==> Creating package "anaconda"...  -> Generating .PKGINFO file...  -> Gene ...

  6. [oldboy-django][2深入python] orm中auto_now =True, antu_now_add=True的应用

    DateTimeField.auto_now 这个参数的默认值为false,设置为true时,能够在保存该字段时,将其值设置为当前时间,并且每次修改model,都会自动更新.因此这个参数在需要存储“最 ...

  7. leetcode NO.171 Excel表列序号 (python实现)

    来源 https://leetcode-cn.com/problems/excel-sheet-column-number/description/ 题目描述 给定一个Excel表格中的列名称,返回其 ...

  8. algorithm 头文件

    非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_each() 查找 在序列中找出某个值的第一次出现的位置 find() 在序列中找出符合某谓词的第一个元素 find_if() ...

  9. 12c可插拔数据库CDB与PDB管理总结

    12c可插拔数据库CDB与PDB管理总结 创建pdb1.直接创建 CREATE PLUGGABLE DATABASE pdb2 ADMIN USER boswll IDENTIFIED BY orac ...

  10. sql执行效率 Explain

    explain+sql语句 explain返回的结果项很多,这里我们只关注三种,分别是type,key,rows. key:显示MySQL实际决定使用的键(索引).如果没有选择索引,键是NULL. r ...