layui 打开新页面,并传入参数

本文介绍了如何在layui中利用wangEditor富文本编辑器实现预览功能,当点击预览时,通过layui打开新页面并传递参数。详细步骤包括在点击事件中触发新页面加载,并将编辑器内容传递到iframe中,以显示预览效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layui 打开新页面,并传入参数

使用的 wangEditor 富文本编辑器不带预览的功能,
所以自己实现了下功能;
思路是:
点击打开一个弹窗 or 新页面,
然后页面展示提交后前端页面看到的大概的样子。
涉及到需要把内容传递到打开的 iframe 页面内,
刚好可以利用 layui 携带传参的一个特点。

效果预览:

layui 打开新页面,并传入参数
layui 打开新页面,并传入参数

具体代码实现为:

  • 创建一个 preview.html 预览页面,css 样式来自 wangEditor 官方文档给出的
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>预览内容</title>
    <style>
        /* table 样式 */
        table {
            border-top: 1px solid #ccc;
            border-left: 1px solid #ccc;
        }
        table td,
        table th {
            border-bottom: 1px solid #ccc;
            border-right: 
### 实现 Layui 抽屉组件传递参数Layui 中,抽屉组件可以通过 `layer.open()` 方法打开且可以向子页面传递参数。这通常用于父页面调用子页面传入一些初始配置或数据。 #### HTML 结构 首先,在HTML文件中定义触发按钮: ```html <button type="button" class="layui-btn layui-btn-normal" id="openDrawer">打开抽屉</button> ``` #### JavaScript 配置 接着,在JavaScript中设置点击事件处理程序以及如何开启带有参数的抽屉窗口: ```javascript document.getElementById('openDrawer').addEventListener('click', function () { var dataToPass = { key1: 'value1', key2: 123 }; // 要传递的数据对象 layer.open({ type: 2, // iframe模式 title: false, shadeClose: true, area: ['50%', '70%'], content: ['/path/to/your/page.html?data=' + encodeURIComponent(JSON.stringify(dataToPass)), 'no'], // URL加上编码后的JSON字符串作为查询参数 success: function (layero, index) { console.log(layero); // 获取当前弹层DOM节点 } }); }); ``` 上述代码片段展示了如何创建一个按钮通过监听其点击事件来启动一个新的抽屉实例[^4]。这里的关键在于将要发送给子页面的信息序列化成 JSON 字符串形式附加到目标URL后面作为查询参数。 #### 子页面接收参数 当新加载的页面被渲染出来之后,可以在该页面内解析这些参数: ```javascript // 假设这是子页面中的脚本部分 window.onload = function() { const urlParams = new URLSearchParams(window.location.search); let receivedDataStr = decodeURIComponent(urlParams.get("data")); try { let receivedDataObj = JSON.parse(receivedDataStr); document.write('<pre>' + JSON.stringify(receivedDataObj, null, '\t') + '</pre>'); // 这里可以根据接收到的对象做进一步的操作... } catch(e){ console.error("Failed to parse passed parameters", e); } }; ``` 这段代码负责捕获来自上一页附带过来的查询参数尝试将其反序列化回原始的对象结构以便于后续使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值