·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

Discuz!开发之js弹出框函数showDialog介绍

232 1
发表于 2023-5-30 22:38:47 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Discuz!开发之js弹出框函数showDialog介绍
参数意义:

showDialog(msg, mode, t, func, cover)

msg:内容,支持html

mode:提升模式,从函数里面看,支持'confirm'(显示确定,取消按钮), 'notice'(显示确定按钮), 'info'(只有内容,除了关闭标志,没有任何按钮),这几个mod如果没有被定义,默认使用alert,也就是错误提示,显示一个X再加一个确定按钮

t:也就是title,留空会使用“提示信息”着四个字

func:点击fwin_dialog_submit,也就是确定按钮的时候执行的动作,如果用typeof 检查结果是一个函数,就执行之,不用请填写NULL

cover:使用背景遮罩

使用实例:

<div id=”divajax”></div>

<p><a href=”result.php” οnclick=”showWindow('test',this.href);return false;”>显示一个浮动窗口来返回ajax结果,这里用到了showWindow函数</a></p>

<a  href=”javascript:;” οnclick=”showDialog('演示document.write()!', 'confirm', '演示', 'document.write (\'演示document.write()\')',1)”>document.write</a>

<a  href=”javascript:;” οnclick=”showDialog('演示location.href()!', 'confirm', '演示', 'parent.location.href=\'http://g.cn\”,1)”>location.href</a>

<a  href=”javascript:;” οnclick=”showDialog('演示ajaxget(),输出到id=divajax的这一层里面', 'confirm', '演示', 'ajaxget(\'result.php?\',\'divajax\')', 1)”>ajaxget</a>
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-17 14:20:00 | 查看全部
`showDialog` 是 Discuz! 中常用的 JavaScript 函数之一,用于在页面上弹出对话框。这个函数非常灵活,可以根据不同的需求显示不同类型的对话框。下面是对 `showDialog` 函数的详细介绍和使用示例。

### 参数说明

1. **msg**:
   - 类型: `String`
   - 说明: 对话框的内容,支持 HTML 格式的字符串。你可以在这里传入任何你想显示的内容,比如文本、图片、链接等。

2. **mode**:
   - 类型: `String`
   - 说明: 对话框的模式。支持以下几种模式:
     - `'confirm'`: 显示“确定”和“取消”按钮。
     - `'notice'`: 只显示“确定”按钮。
     - `'info'`: 只显示内容,除了关闭标志外,没有任何按钮。
     - 如果未定义或传入其他值,默认使用 `alert` 模式,显示一个带有“X”标志和“确定”按钮的错误提示框。

3. **t**:
   - 类型: `String`
   - 说明: 对话框的标题。如果留空,默认使用“提示信息”作为标题。

4. **func**:
   - 类型: `Function`
   - 说明: 当用户点击“确定”按钮时执行的回调函数。如果传入的是一个函数,点击“确定”按钮后会执行该函数。如果不需要执行任何操作,可以传入 `NULL`。

5. **cover**:
   - 类型: `Boolean`
   - 说明: 是否使用背景遮罩。如果设置为 `true`,对话框弹出时会在页面背景上添加一层半透明的遮罩,防止用户操作页面其他部分。

### 使用示例

#### 1. 显示一个简单的提示框
  1. showDialog('这是一个简单的提示框', 'notice', '提示');
复制代码

这个示例会显示一个带有“确定”按钮的提示框,标题为“提示”,内容为“这是一个简单的提示框”。

#### 2. 显示一个确认框
  1. showDialog('你确定要执行此操作吗?', 'confirm', '确认', function() {
  2.     alert('你点击了确定按钮');
  3. });
复制代码

这个示例会显示一个带有“确定”和“取消”按钮的确认框。如果用户点击“确定”按钮,会弹出一个提示框显示“你点击了确定按钮”。

#### 3. 显示一个信息框
  1. showDialog('这是一个信息框,没有按钮', 'info', '信息');
复制代码

这个示例会显示一个没有按钮的信息框,只有内容和关闭标志。

#### 4. 使用背景遮罩
  1. showDialog('这是一个带有背景遮罩的提示框', 'notice', '提示', null, true);
复制代码

这个示例会显示一个带有背景遮罩的提示框,用户无法操作页面其他部分,直到关闭对话框。

### 结合 AJAX 使用

`showDialog` 函数通常与 AJAX 请求结合使用,用于显示从服务器返回的结果。例如:

  1. function fetchData() {
  2.     // 模拟一个 AJAX 请求
  3.     setTimeout(function() {
  4.         var response = '这是从服务器返回的数据';
  5.         showDialog(response, 'notice', 'AJAX 结果');
  6.     }, 1000);
  7. }

  8. fetchData();
复制代码

在这个示例中,`fetchData` 函数模拟了一个 AJAX 请求,1秒后返回数据并显示在对话框中。

### 总结

`showDialog` 是 Discuz! 中非常实用的一个函数,能够帮助开发者快速实现各种类型的对话框。通过合理使用 `mode`、`func` 和 `cover` 等参数,可以满足不同的交互需求。希望这些示例能帮助你更好地理解和使用 `showDialog` 函数。

如果你有更多关于 Discuz! 开发的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.17.182.90,GMT+8, 2025-4-11 08:26 , Processed in 0.365537 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表