窗体

简介

1.模拟WINDOW窗体,提供模态、非模态2种模式。
2.窗体展开可以依赖页面元素发起,同时支持不直接依赖于任何页面元素(如DIV)调用,即通过waf.window.Open({url:…})的形式打开窗体。
3.窗体支持最小化、最大化、关闭、拖动、定位和RESIZE功能以及帮助链接。
4.提供打开、关闭、拖动、RESIZE等事件。
5.支持 Iframe和DIV方式加载指定URL的页面。
6.支持设置弹出窗是从当前页弹出还是从顶层页弹出(详见特殊功能说明)。
7.页面加载支持选择采用POST方式或GET方式传递参数。


使用方法

2.1、 方法&事件使用EAS7.5+
//打开窗体,通过 POST的方式打开 Iframe窗口
function open_win1(obj){
 waf.window.open({
  url:"../../webviews/webframework/ctrls/window/examples/cascadeWin-1.jsp",
  openType:"iframe",
  method:'POST',
  data:{OpenType :"iframe",modal :"true",position :"center",
   width :"420",height :"360",draggable :"true",resizable :"true"},
  modal:false,
  title:'第一级窗口',
  position: ['left','top'],
  width:320,
  height:280,
  minHeight:0,
  minWidth:200,
  draggable: true,
  resizable: true,
  //关闭弹出窗前执行的回调函数
  onBeforeClose: iframe_ok_handler,
  //弹出窗正常状态下执行的回调函数
  retValCallBack:myCallBack
 });}
function iframe_ok_handler(event,ui,value){
    waf("#input_root").val(value);
}
function myCallBack(value){
    $("#input_root").val(value);
}

属性说明

url String 缺省值: null EAS7.5+

定义弹出窗中(iframe或div中)显示的文档的URL. 如:url:../ctrls/window/examples/openedWin.jsp

openType String 缺省值: iframe EAS7.5+

定义窗体展示容器,有2个选项iframe或div. 如:openType:iframe

method String 缺省值: POST EAS7.5+

定义参数传递方式,有2个选项POST或GET. 如:method:POST

data JSON 缺省值: null EAS7.5+

定义在POST方式时传递参数的形式,如果指定了data属性,则method自动变为POST. 如:{param1:a,param2:b}

target DOM 缺省值: null EAS7.5+

定义打开页面的容器,如果不希望使用工具类提供的页面容器,可以指定自建的Div或iframe的Jquery对象作为容器.

width Integer或String 缺省值: 300px EAS7.5+

定义弹出窗体的宽度,可指定px值或相对与当前document宽度的百分比. 如:width:300或width:50%

height Integer或String 缺省值: auto EAS7.5+

定义弹出窗体的高度,可指定px值或相对与当前document高度的百分比. 如:height:300或height:’50%’

指定是否模态窗口. 如:modal:true

draggable Boolean 缺省值: true EAS7.5+

指定窗口是否可拖动. 如:draggable:true

resizable Boolean 缺省值: true EAS7.5+

指定窗口是否可调整大小. 如:resizable:true

autoMax Boolean 缺省值: false EAS7.5+

指定窗口打开时是否自动最大化. 如:autoMax:true

position String或Array 缺省值: center EAS7.5+

指定窗口位置.有3种指定方式:
1、指定区域,选项包括’center’,’left’,’right’,’top’,’bottom’,[‘left’,’top’],[‘right’,’top’],[‘left’,’bottom’],[‘right’,’bottom’]9个区域.
2、通过指定左上角坐标进行定位,采用px单位如:position:[‘left’,’top’]或position:[350,100].
3、通过jquery.ui.position方式使指定窗体相对于window、document甚至任何可见html控件进行精确定位,可参见FAQ中对窗体定位方法的说明. 如,指定弹出窗体的左上角与指定控件的左下角对齐:position:{my:’lefttop’,at:’leftbottom’,of:waf(‘#curID’),collision:’fitnone’}

title title String 缺省值: ‘信息提示’ EAS7.5+

指定窗口的标题. 如:title:’信息提示’

style JSON 缺省值: null EAS7.5+

指定窗口外框(div)的样式. 如:style:{border’:’none’,’left’:’-2px’}

hideEffect String 缺省值: ‘slide’ EAS7.5+

指定窗口的关闭动画效果,可选效果包括:’blind’,’clip’,’drop’,’explode’,’fold’,’puff’,’slide’,’scale’,’size’,’pulsate’. 如:hideEffect:’slide’

closeOnEscape Boolean 缺省值: true EAS7.5+

指定是否需要在窗体focus时点击esc键是否关闭窗体.如:closeOnEscape:true

openFromParent Boolean 缺省值: false EAS7.5+

指定窗体从当前页打开还是从父页面页打开,默认为false(详见’特殊功能说明’). 如:openFromParent:true

showTitleBar Boolean 缺省值: true EAS7.5+

指定是否显示窗体标题栏。如:showTitleBar:true


方法说明

waf.window.open 参数: (窗体的jquery对象) 返回值类型: 窗体的jquery对象 EAS7.5+

打开一个窗体。 参考样例

  • 参数说明:
            - 由属性组成的对象
  • 返回值说明:
            - 窗体的jquery对象

waf.window.close 参数: (窗体的jquery对象) 返回值类型: (none) EAS7.5+

关闭窗体。当从页面A.JSP打开弹出窗B.JSP,如果要在A.JSP中通过js关闭弹出窗B.JSP需要给方法指定弹出窗jquery对象参数:waf.window.close(curOpenWin) 参考样例

  • 参数说明:
            - 由属性组成的对象
  • 返回值说明:
            - 无

waf.window.max 参数: (窗体的jquery对象) 返回值类型: (none) EAS7.5+

最大化指定的窗体。如:waf.window.max(curOpenWin) 参考样例

  • 参数说明:
            - 由属性组成的对象
  • 返回值说明:
            - 无

waf.window.min 参数: (窗体的jquery对象) 返回值类型: (none) EAS7.5+

最小化指定的窗体。如:waf.window.min(curOpenWin) 参考样例

  • 参数说明:
            - 由属性组成的对象
  • 返回值说明:
            - 无

waf.window.isOpen 参数: (窗体的jquery对象) 返回值类型: (Boolean) EAS7.5+

判断指定窗体是否打开.如:waf.window.isOpen(curOpenWin) 参考样例

  • 参数说明:
            - 由属性组成的对象
  • 返回值说明:
            - boolean值

waf.window.moveToTop 参数: (窗体的jquery对象) 返回值类型: (none) EAS7.5+

如果已经从当前页面打开多个弹出窗体,可通过此方法将某个指定弹出窗体置前(显示在最上层).
如:waf.window.moveToTop(curOpenWin)

  • 参数说明:
            - 由属性组成的对象
  • 返回值说明:
            - 无

waf.window.changeTitle 参数: (newTitle,窗体jquery对象) 返回值类型: (none) EAS7.5+

修改已打开窗体的标题。如果在主页面调用此方法,需要指定第二个参数;如果在弹出窗体内部jsp中调用此方法改变自己所在窗体的标题,则不需要第二个参数。如:waf.window.changeTitle(新标题,curOpenWin) 参考样例V8.5

  • 参数说明:
            - newTitle指新标题,类型是字符串
            - curOpenWin目标窗体的jquery对象
  • 返回值说明:
            - 无

waf.windowMgr.setReturnValFuncWhenClose 参数: (包含返回值的js函数) 返回值类型:(无) EAS7.5+

当前弹出窗体关闭时要执行的js函数,用于给父页面回传参数,应在弹出窗体中的jsp页面中使用,详见特殊功能说明.
如:function returnVal(){return waf(#input_win1).val()

  • 参数说明:
            - 包含返回值的js函数
  • 返回值说明:
            - 无

waf.windowMgr.triggerRetValCallBack 参数: (object) 返回值类型: (无) EAS7.5+

用于触发父页面给窗体注册的回调函数(给父页面回传参数),应在弹出窗体中的jsp页面中使用,详见特殊功能说明.
如:waf.windowMgr.setReturnValFuncWhenClose($(“#input_win1”).val())

  • 参数说明:
            - object对象
  • 返回值说明: 无
            - 无

waf.windowMgr.getTargetObj 参数: (none) 返回值类型: (当前弹出窗体的jquery对象) EAS7.5+

获取当前页所属弹出窗体的jquery对象,应在弹出窗体中的jsp页面中使用.</br> 如:varcurWin=waf.windowMgr.getTargetObj()

  • 参数说明:
            - 无
  • 返回值说明:
            - 当前弹出窗体的jquery对象

事件说明

onOpen 参数: (event,ui) EAS7.5+

在窗体打开时触发. 参考样例
如:onOpen:function(event){alert(‘triggeropoenevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui为空对象

onOpenCompleted 参数: (event,ui) EAS7.5+

在窗体加载完成时触发。参考样例
如:onOpenCompleted:function(event,ui){alert(‘triggeropenCompletedevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui为空对象

onFocus 参数: (event,ui) EAS7.5+

在窗体获取焦点时触发.参考样例
onFocus:function(event,ui){alert(‘triggerfocusevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui为空对象

onDragStart 参数: (event,ui) EAS7.5+

在开始拖动窗体时触发.参考样例
如:onDragStart:function(event,ui){alert(‘triggerdragStartevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui拖动的起止位置

onDrag 参数: (event,ui) EAS7.5+

在拖动窗体时触发.参考样例
如:onDrag:function(event,ui){alert(‘triggerdragevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui拖动的起止位置

onDragStop 参数: (event,ui) EAS7.5+

在拖动窗体结束时触发.参考样例
如:onDragStop:function(event,ui){alert(‘triggerdragStopevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui拖动的起止位置

onResizeStart 参数: (event,ui) EAS7.5+

在开始调整窗体尺寸时触发.参考样例
如:onResizeStart:function(event,ui){alert(‘triggerresizeStartevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui窗口起止位置与大小

onResize 参数: (event,ui) EAS7.5+

在调整窗体尺寸时触发.参考样例
如:onResize:function(event,ui){alert(‘triggerresizeevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui窗口起止位置与大小

onResizeStop 参数: (event,ui) EAS7.5+

在调整窗体尺寸结束时触发.参考样例
如:onResizeStop:function(event,ui){alert(‘triggerresizeStopevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui窗口起止位置与大小

onBeforeClose 参数: (event,ui) EAS7.5+

在窗体关闭前触发,如果事件处理函数返回false则取消关闭操作.参考样例
如:onBeforeClose:function(event,ui,[val]){alert(‘triggerbeforeCloseevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui为空对象

onClose 参数: (event,ui) EAS7.5+

在窗体关闭时触发.参考样例
如:onClose:function(event,ui){alert(‘triggercloseevent.’)

  • 参数说明:
            - event窗体的jquery对象
            - ui为空对象

样例集合

  1. 基本用法
  2. 窗体属性
  3. 窗体方法
  4. 窗体事件
  5. 多级打开和交互