FineUI 官方论坛

标题: 如何隐藏 Alert.Show 的关闭按钮(closable) [打印本页]

作者: langhp    时间: 2015-9-21 09:52
标题: 如何隐藏 Alert.Show 的关闭按钮(closable)
Alert.ShowInTop("请登陆后进行操作", "提示", "parent.window.location.href='../default.aspx';");
点确定后可以转向,但是点右上角的关闭就不执行转向了,怎么处理啊?或者怎么能不显示右上角的关闭按钮。



[attach]7915[/attach]

作者: zy32002    时间: 2015-9-21 10:23
很难解决,据说可以用js来屏蔽,自己百度下
作者: zy32002    时间: 2015-9-21 10:25
http://www.jb51.net/article/35247.htm
作者: Gnid    时间: 2015-9-21 11:38
closeaction
作者: langhp    时间: 2015-9-21 12:01
Gnid 发表于 2015-9-21 11:38
closeaction

我用的不是窗体,用的是alert.showtop,您回复的不知道怎么操作啊,能详细点吗?谢谢
作者: 隨風往事    时间: 2015-9-21 15:22
.Ext.MessageBox.show()方法
   功能很强大,采用config配置形式,比前面的方法使用更方便。
   参数很多,在此列举最常用的配置参数:
1.animEl:对话框弹出和关闭时的动画效果,比如设置为“id1”,则从id1处弹出并产生动画,收缩则相反
2.buttons:弹出框按钮的设置,主要有以下几种:Ext.Msg.OK,
                                        Ext.Msg.OKCANCEL,
                                        Ext.Msg.CAMCEL,
                                        Ext.Msg.YESNO,
                                        Ext.Msg.YESNOCANCEL
  你也可以自定义按钮上面的字:{"ok","我本来是ok的"}。
   若设为false,则不显示任何按钮.
3.closable:如果为false,则不显示右上角的小叉叉,默认为true。
4.msg:"消息的内容"
5.title:"标题"
6.fn:关闭弹出框后执行的函数
7.icon:弹出框内容前面的图标,取值为Ext.MessageBox.INFO,
                                       Ext.MessageBox.ERROR,
                                  Ext.MessageBox.WARNING,
                                  Ext.MessageBox.QUESTION
8.width:弹出框的宽度,不带单位
9.prompt:设为true,则弹出框带有输入框
10.multiline:设为true,则弹出框带有多行输入框
11.progress:设为true,显示进度条,(但是是死的)
12.progressText:显示在进度条上的字
13.wait:设为true,动态显示progress
14.waitConfig:配置参数,以控制显示progress
example:
  1. Ext.MessageBox.show({
  2.     title:"标题",
  3.     msg:"内容的消息",
  4.     buttons:{"ok":"我不再显示OK了"},
  5.     fn:function(e){alert(e);},
  6.     animEl:"test1",
  7.      width:500,
  8.     icon:Ext.MessageBox.INFO,
  9.     closable:false,
  10.     progress:true,
  11.     wait:true,
  12.     progressText:"进度条"
  13.    // prompt:true
  14.    // multiline:true
  15. });
复制代码

对应修改FineUI[ext-part2.js]1117行代码

作者: sanshi    时间: 2015-9-21 15:53
隨風往事 发表于 2015-9-21 15:22
.Ext.MessageBox.show()方法
   功能很强大,采用config配置形式,比前面的方法使用更方便。
   参数很多, ...

用 PageContext.RegisterStartupScript 直接注册  Ext.MessageBox.show 脚本
作者: langhp    时间: 2015-9-21 16:25
sanshi 发表于 2015-9-21 15:53
用 PageContext.RegisterStartupScript 直接注册  Ext.MessageBox.show 脚本

能麻烦写下具体代码或怎么操作,您说的不懂
作者: sanshi    时间: 2015-9-21 16:35
langhp 发表于 2015-9-21 16:25
能麻烦写下具体代码或怎么操作,您说的不懂

PageContext.RegisterStartupScript 就是向页面注册JS脚本的,类似:
  1. PageContext.RegisterStartupScript("alert('呵呵');")
复制代码


所以你可以把 alert('呵呵'); 换成任何有效的 JS 片段,比如:
  1. Ext.MessageBox.show({title:'标题',closable:false,fn:function(){parent.window.location.href='../default.aspx';}});
复制代码
最后完整的代码是:
  1. PageContext.RegisterStartupScript("Ext.MessageBox.show({title:'标题',closable:false,fn:function(){parent.window.location.href='../default.aspx';}});");
复制代码


以上代码未测试,但道理相通!

====
另,专业版有内置支持:http://fineui.com/demo_pro/#/demo_pro/message/alert.aspx
[attach]7918[/attach]



作者: 隨風往事    时间: 2015-9-22 08:17
本帖最后由 隨風往事 于 2015-9-22 08:20 编辑
sanshi 发表于 2015-9-21 15:53
用 PageContext.RegisterStartupScript 直接注册  Ext.MessageBox.show 脚本

我觉得这个关闭的叉应该做一个if判断,如果有OKScript脚本时候设置为
  1. closable:false
复制代码

作者: langhp    时间: 2015-9-22 12:14
sanshi 发表于 2015-9-21 16:35
PageContext.RegisterStartupScript 就是向页面注册JS脚本的,类似:

根据您的提示,代码如下,
                    PageContext.RegisterStartupScript("Ext.MessageBox.show({title:'标题',closable:false,msg:'请登陆',buttons:{'ok':'我不再显示OK了'},fn:function(){parent.window.location.href='default.aspx';}});");
但是按钮不显了,如图
[attach]7926[/attach]
不知道是哪里错了,谢谢回复

作者: langhp    时间: 2015-11-12 18:30
                    PageContext.RegisterStartupScript("Ext.MessageBox.show({title:'提示信息',closable:false,msg:'未登陆或登陆超时!',buttons: Ext.MessageBox.OK,icon: Ext.MessageBox.INFO,fn:function(){parent.window.location.href='default.aspx';}});");

作者: zy32002    时间: 2015-11-13 09:22
http://fineui.com/bbs/home.php?m ... mp;do=blog&id=2
做成例子,大家可以参考下




欢迎光临 FineUI 官方论坛 (https://www.fineui.com/bbs/) Powered by Discuz! X3.4