热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

layui两个html传值,Layui跳转传参、父子页面

使用parent.xadmin.add_tab()方法打开新的标签页重点是这个parent,折磨了我一下午,原来是没有搞清应该从父页面打开。最开始的xa

使用parent.xadmin.add_tab()方法打开新的标签页

重点是这个parent,折磨了我一下午,原来是没有搞清应该从父页面打开。最开始的xadmin.add_tab()是用在左边菜单上的,点击就会增加新的标签页,这个才是父页面。

使用X-admin(Layui)前端框架,在打开新Tab页面内刷新其他Tab页面解决方案(表单数据多可以使用open弹框全屏)

使用X-admin(Layui)前端框架,从数据列表页点击弹框(open)的添加页面,然后添加成功关闭弹框且刷新列表页,这种情况比较常见代码如下:

// 获得frame索引

var index = parent.layer.getFrameIndex(window.name);

//关闭当前frame

parent.layer.close(index);

window.parent.location.reload();

如果是添加页面的字段很多,打开新的Tab页面的话,就不能使用以上代码,我的解决方案是代码如下:

————————————————

版权声明:本文为CSDN博主「似水往昔浮流年 ♚」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qiaoshuai0920/article/details/103414005

//重新调用打开list页面,并且刷新。

parent.xadmin.add_tab('列表','list.action',true);

//关闭当前tab页面 必须后关闭。

xadmin.del_tab();

前一个页面的检查语句可能会使后一个页面提交失败,并返回到前一页面

这个bug隐藏地非常深,我一开始写了新增合同页面,通过“下一步”的按钮跳转到添加合同条款的页面,结果可以跳转,合同编号也传递正确了,但是条款信息提交时却又返回到了上一页面。

因为某种机缘巧合而发现了原来是新增合同页面的form检查语句form.verify{}不让我提交……至于原因,可能是我把不该写的东西写在了form.verify{}里吧……改得太快,没注意具体原因。

使用layui的layer.open打开页面并传入参数

layui.use(['jquery','form','layer'], function(){

var $ = layui.jquery,

layer = layui.layer,

form = layui.form;

///预览

$('#preview').on('click',function() {

var w = ($(window).width() * 0.7);

var h = ($(window).height() - 50);

layer.open({

resize: false,

title: '预览',

shadeClose: true,

area: [w + 'px', h + 'px'],

type: 2,

content: '/common/html/preview.html',

success: function (layero, index) {

var body = layer.getChildFrame('body', index);

body.find('#content').append(editor.txt.html());

}

});

});

});

使用layui的form进行ajax提交操作时必须return false防止表单跳转

我的理解是如果不return false,传的参数会被页面自动刷新掉。

Layui form表单提交注意事项

最后return false防止页面刷(form表单提交后如果请求原来的页面尾后没有参数?id=之类的参数请求,可以不返回false)),

http://localhost:8080/jump/jumpToPages?flag=5请求原页面大有参数,必须返回false,不然页面获取不到参数 报错

// 表单提交

form.on('submit(first1)', function (data) {

var articleFrom = data.field;

$.ajax({

type:"POST",

url:"/user/upDate",

data:articleFrom,

dataType:"JSON",

success:function (data) {

if(data.flag){

layer.closeAll();

}

}

});

return false;

});

实现上一步与下一步

Q:弹窗弹出一个表单,然后点击下一步的时候再弹出来一个表单 然后点击提交的时候再把所有内容都提交给后台,如何实现?

A:你的弹出层里面可以放两个表单,先隐藏第二个表单,点击下一步的时候在隐藏第一个显示第二个,这中间可以layer.load几秒后再出现,再一起把表单提交。

实在想用两次弹出层来实现也行,点击下一步的时候layer.getChildFrame('body', index)把第一个表单赋给一个变量,弹出第二个表单,同样获取表单值一起提交就行了。

Q:在提交表单后,给出提交成功信息,然后怎么关闭当前表单页面,跳转到并刷新列表页面。怎么让新添加的数据显示在列表页面的首行。

A:

1.关闭页面

如果你是使用 layui.open 打开的新页面可以参考 https://www.layui.com/doc/modules/layer.html#layer.close

var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引

parent.layer.close(index); //再执行关闭

2.关闭当前页,刷新父页面

window.parent.location.href = url (可以试试这个)

3.至于添加的数据显示在最前面,这个需要后台去处理,按照新增时间倒序或者是排序号排序都可以的。



推荐阅读
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • Python进阶笔记:深入理解装饰器、生成器与迭代器的应用
    本文深入探讨了Python中的装饰器、生成器和迭代器的应用。装饰器本质上是一个函数,用于在不修改原函数代码和调用方式的前提下为其添加额外功能。实现装饰器需要掌握闭包、高阶函数等基础知识。生成器通过 `yield` 语句提供了一种高效生成和处理大量数据的方法,而迭代器则是一种可以逐个访问集合中元素的对象。文章详细解析了这些概念的原理和实际应用案例,帮助读者更好地理解和使用这些高级特性。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 使用 `git stash` 可以将当前未提交的修改保存到一个临时存储区,以便在后续恢复工作目录时使用。例如,在处理中间状态时,可以通过 `git stash` 命令将当前的所有未提交更改推送到一个新的储藏中,从而保持工作目录的整洁。此外,本文还将详细介绍如何解决 `git stash pop` 时可能出现的冲突问题,帮助用户高效地管理代码变更。 ... [详细]
  • 2018年9月21日,Destoon官方发布了安全更新,修复了一个由用户“索马里的海贼”报告的前端GETShell漏洞。该漏洞存在于20180827版本的某CMS中,攻击者可以通过构造特定的HTTP请求,利用该漏洞在服务器上执行任意代码,从而获得对系统的控制权。此次更新建议所有用户尽快升级至最新版本,以确保系统的安全性。 ... [详细]
  • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在Android开发中,实现多点触控功能需要使用`OnTouchListener`监听器来捕获触摸事件,并在`onTouch`方法中进行详细的事件处理。为了优化多点触控的交互体验,开发者可以通过识别不同的触摸手势(如缩放、旋转等)并进行相应的逻辑处理。此外,还可以结合`MotionEvent`类提供的方法,如`getPointerCount()`和`getPointerId()`,来精确控制每个触点的行为,从而提升用户操作的流畅性和响应性。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • 2014年3月16日 长沙多所高校联合举办第三次学术交流活动
    2014年3月16日,长沙多所高校联合举办了第三次学术交流活动。此次活动旨在促进各高校间的学术合作与交流,吸引了众多师生参与。交流内容涵盖了计算机科学、工程技术等多个领域,为参会者提供了丰富的学习和讨论机会。 ... [详细]
author-avatar
kiki百乐门_867
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有