layui iframe传值
时间: 2023-07-06 18:33:17 浏览: 165
在 layui中,可以通过url传递参数来实现iframe与父页面之间的数据传递。
在父页面中,可以使用以下代码来打开iframe并传递参数:
```
layui.use('layer', function(){
var layer = layui.layer;
layer.open({
type: 2,
title: 'iframe传值示例',
shadeClose: true,
shade: 0.8,
area: ['800px', '600px'],
content: 'iframe.html?id=123',
end: function(){
// 关闭时触发的回调函数
}
});
});
```
在iframe页面中,可以使用以下代码来获取父页面传递的参数:
```
var id = getUrlParam('id');
console.log(id);
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.parent.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
```
其中,getUrlParam()函数是用来获取url参数的函数,可以在其他项目中复用。
相关问题
layui 给弹窗iframe传值
可以通过在父页面中定义一个函数,然后在子页面中调用该函数并传递参数来实现给弹窗iframe传值。
在父页面中定义函数:
```javascript
function setValue(value) {
// 处理传递过来的值
console.log(value);
}
```
在弹窗iframe中调用父页面函数并传递参数:
```javascript
parent.setValue('参数值');
```
在父页面中可以通过定义一个全局变量来存储传递过来的值,例如:
```javascript
var data = null;
function setValue(value) {
data = value;
}
```
这样在父页面中就可以通过访问 `data` 变量来获取传递过来的值了。
layui弹窗间的传值(layui弹出层传值)(窗口传值)
在LayUI中,可以通过父窗口向弹出层传递数据来实现弹出层中的编辑操作。具体步骤如下:
1. 在父窗口中,点击编辑按钮时,将当前选中行的数据传递给弹出层。
2. 弹出层通过获取到父窗口传递的数据,在弹出层中展示出来。
在代码中,可以使用以下方法来实现弹窗间的传值:
1. 首先,通过`window\[layero.find('iframe')\[0\]\['name'\]\]`获取到弹出层中的iframe页的窗口对象。
2. 然后,可以使用`iframeWin.method()`来执行iframe页中的方法。
3. 可以使用`layer.getChildFrame('body', index)`来获取到iframe页的body内容。
4. 最后,可以使用`body.find('input').val('Hi,我是从父页来的')`来设置弹出层中的input元素的值。
以下是一个示例代码:
```javascript
layer.open({
type: 2,
content: 'test/iframe.html',
success: function(layero, index){
var body = layer.getChildFrame('body', index);
var iframeWin = window\[layero.find('iframe')\[0\]\['name'\]\];
iframeWin.method(); // 执行iframe页的方法
console.log(body.html()); // 获取iframe页的body内容
body.find('input').val('Hi,我是从父页来的'); // 设置弹出层中的input元素的值
}
});
```
通过以上方法,可以实现LayUI弹窗间的传值。
#### 引用[.reference_title]
- *1* *3* [layui弹窗间的传值(layui弹出层传值)(窗口传值)](https://blog.csdn.net/m0_46991388/article/details/116647023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [layui弹窗内窗口之间怎样传参数](https://blog.csdn.net/weixin_42519514/article/details/112944221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文