组件 | 浏览框控件 | ||||
功能说明 | 基于java自定义标签库生成浏览按钮的组件,其主要特点如下: 1、常用于需要通过弹出窗口选择数据的情形; 2、统一维护按钮及其显示区样式; 3、支持快速输入匹配(联想数据)功能; 4、联想输入支持拼音首字母查找; 5、支持浏览按钮和新建按钮两种按钮并存; 6、支持为选择的内容添加链接; 7、支持自定义弹出窗口的大小; 8、支持浏览和新建后的回调机制; 9、支持数据必填验证 |
||||
使用说明 | 1.引入这个tagLib <%@ taglib uri=”/WEB-INF/tld/browser.tld” prefix=”brow”%> 如果没有引入以下js,那么需要引入以下js: <script type=’text/javascript’ src=’/js/jquery-autocomplete/lib/jquery.bgiframe.min_wev8.js’></script> <script type=’text/javascript’ src=’/js/jquery-autocomplete/jquery.autocomplete_wev8.js’></script> <script type=’text/javascript’ src=’/js/jquery-autocomplete/browser_wev8.js’></script> <link rel=”stylesheet” type=”text/css” href=”/js/jquery-autocomplete/jquery.autocomplete_wev8.css” /> <link rel=”stylesheet” type=”text/css” href=”/js/jquery-autocomplete/browser_wev8.css” /> |
||||
3.在需要产生浏览的地方加入如下taglib标签
<brow:browser name=”<%=fieldbodyid%>” viewType=”0″ hasBrowser=”true” hasAdd=”false” browserOnClick=”<%=onclick%>” |
|||||
|
|||||
例子 | 例子:http://192.168.4.44:8080/web/webmagazine/WebMagazineEdit.jsp?_fromURL=3&id=21 | ||||
组件初始化参数 | 是否必须 | 类型 | 描述 | ||
name | 是 | string | 浏览按钮的名称,在表单中是字段的ID | ||
width | 否 | string | 浏览按钮元素宽度,如果设置为auto,则浏览框的宽度自动扩充 | ||
viewType | 是 | string | 字段类型(0:主表字段,1:明细表字段),主表字段最小宽度为230px,明细字段最小宽度为120px | ||
type | 否 | string | 字段的类型,对应workflow_billfield表中的type字段 | ||
isBrowser | 否 | string | 是否是浏览框(默认是true),该属性一般不用 | ||
hasBrowser | 否 | string | 是否显示浏览按钮,默认为true true:显示 false:不显示 |
||
browserUrl | 否 | string | 浏览按钮的URL 要携带原有参数,有两种方式: 1、在url后面直接跟上key=即可;如/systeminfo/BrowserMain.jsp?url=/hrm/resource/MultiResource.jsp?resourceids= 2、使用#id#占位符;如/systeminfo/BrowserMain.jsp?url=/hrm/resource/MultiResource.jsp?resourceids=#id#¶m=123
首选该属性替代browserOnClick |
||
getBrowserUrlFn | 否 | string | 动态获取browserUrl的javascript函数名,不需要括号 | ||
getBrowserUrlFnParams | 否 | string | getBrowserUrlFn的参数 | ||
browserOnClick | 否 | string | 单击浏览按钮触发的onclick事件 | ||
_callback | 否 | string | 执行完browserUrl事件后的回调方法,该方法默认传递四个参数(event,datas,name,_callbackParams) | ||
_callbackParams | 否 | string | _callback的自定义参数 | ||
isMustInput | 否 | string | 字段是否必填(默认是0) 0:只读 1:可编辑 2:必填 |
||
browserValue | 否 | string | 浏览按钮对应的隐藏域的默认值 | ||
browserSpanValue | 否 | string | 浏览按钮的显示值 | ||
onPropertyChange | 否 | string | 浏览按钮对应的隐藏域的触发的onpropertychange事件调用的方法 | ||
tempTitle | 否 | string | 浏览按钮的中文描述 | ||
isSingle | 否 | string | 浏览按钮是否是单选按钮 true:单选 false:多选 |
||
linkUrl | 否 | string | 浏览按钮显示值对应的链接地址 | ||
index | 否 | string | 针对明细字段设置的,为明细的序号 | ||
hasInput | 否 | string | 是否显示搜索框 true:显示 false:不显示 |
||
isAutoComplete | 否 | string | 是否启用自动检索,默认为true,该属性建议设置为true | ||
completeUrl | 否 | string | 如果isAutoComplete设置为true,那么该属性必填,自动提示的url地址 | ||
hasAdd | 否 | string | 是否显示快捷添加的按钮,默认为false true:显示 false:不显示 |
||
addUrl | 否 | string | 添加按钮对应的链接地址 | ||
dialogWidth | 否 | String | 新建弹出窗口的宽度 | ||
dialogHeight | 否 | string | 新建弹出窗口的高度 | ||
browserDialogWidth | 否 | String | 浏览弹出窗口的宽度 | ||
browserDialogHeight | 否 | string | 浏览弹出窗口的高度 | ||
zDialog | 否 | string | 是否使用zDialog弹出框,默认为false true:使用zDialog false:使用浏览器自带的弹出窗 |
||
beforeDelCallback | 否 | string | 按回退键或者点击x按钮删除对象时的前置回调函数 | ||
beforeDelParams | 否 | String | beforeDelCallback的自定义参数,格式为{a:’a’,b:1} | ||
afterDelCallback | 否 | string | 按回退键或者点击x按钮删除对象时的后置回调函数 | ||
afterDelParams | 否 | String | afterDelCallback的自定义参数,格式为{a:’a’,b:1} | ||
addOnClick | 否 | string | 单击添加按钮时触发的onclick事件 | ||
_callbackForAdd | 否 | string | 执行完addOnclick事件后的回调方法,该方法默认传递三个参数(event,datas,_callbackForAddParams) | ||
_callbackForAddParams | 否 | string | _callbackForAdd的自定义参数 | ||
needHidden | 否 | String | 是否生成隐藏域,默认为true true:生成 false:不生成 |
||
defaultRow | 否 | string | 多选按钮显示的行数,默认为3行 | ||
idKey | 否 | string | 浏览框返回值中作为ID的key值 | ||
nameKey | 否 | String | 浏览框返回值中作为NAME的key值 | ||
language | 否 | String | 用户当前语言 | ||
addBtnID | 否 | String | 添加按钮的ID | ||
addBtnLabel | 否 | String | 添加按钮显示的文字,默认为“新建” | ||
browserBtnID | 否 | String | 浏览按钮的ID | ||
browserBtnClass | 否 | string | 浏览按钮的class,默认为e8_browflow,如果browBtnDisabled不为空,则默认为e8_browflow_disabled | ||
browserBtnSpanCls | 否 | string | 包含浏览按钮的span的样式 | ||
display | 否 | string | 浏览按钮默认状态,设置为none则默认隐藏 | ||
idSplitFlag | 否 | string | browserValue的分隔符,默认为, | ||
nameSplitFlag | 否 | string | browserSpanValue的分隔符,默认为, | ||
browBtnDisabled | 否 | string | 默认为空字符串,如果设置为none,则禁用隐藏浏览按钮,其他值则禁用浏览按钮 | ||
addBtnDisabled | 否 | string | 默认为空字符串,如果设置为none,则禁用隐藏新建按钮,其他值则禁用新建按钮 | ||
addBtnSpanCls | 否 | string | 包含增加按钮的span的样式 | ||
addBtnClass | 否 | string | 新建按钮的class | ||
parentContainer | 否 | string | 浏览框的父容器 | ||
对浏览框组件提供了以下功能函数 | |||||
方法1 | 返回类型 | 描述 | |||
__browserNamespace__._writeBackData | 无 | 用于更新指定浏览框的值 | |||
方法参数 | 是否必须 | 类型 | 描述 | ||
fieldid | 是 | string | 浏览框隐藏域的ID | ||
isMustInput | 是 | string | 字段是否必填 0:只读 1:可编辑 2:必填 |
||
data | 是 | json | json格式数据,格式如下: data = {id:”1,2″,name:”<a href=’#1′>张三</a>,<a href=’javascript:openhrm(2)’>李四</a>”} |
||
_options | 否 | json | json格式数据,格式如下: options = {hasInput:false,replace:false,isSingle:true,isedit:false} 说明: 1、hasInput:是否有联想输入框,默认为false; 2、replace:是否替换原值,默认为false; 3、isSingle:是否是单选,默认值为true; 4、isedit:当前操作是否是更新其中某个字段,当isSingle=false时生效 |
||
方法2 | 返回类型 | 描述 | |||
dialog.callback | 无 | 回填选择的值 | |||
方法参数 | 是否必须 | 类型 | 描述 | ||
datas | 是 | json | json格式数据,格式如下: data = {id:”1,2″,name:”张三,李四”} |
||
关于 浏览框组件 应用强调几点: | |||||
1、尽量使用组件提供的弹出框行为,即尽量使用browserUrl和_callback属性完成功能,尽量不使用browserOnClick属性,以为后期维护提供便利。当组件提供的功能实在无法完成时,才考虑使用browserOnClick属性定制自己的弹出框; | |||||
2、关于completeUrl,该参数固定为/data.jsp,后面跟浏览框类型的参数,如联想部门:completeUrl=”/data.jsp?type=4″;data.jsp中提供了各种类型浏览框数据的数据源。 | |||||
3、当使用zDialog弹出框时,请在弹出框页面增加以下代码: | |||||
a)获取父窗口对象和弹窗对象: | |||||
<script type=”text/javascript”> var parentWin = parent.parent.getParentWindow(parent); var dialog = parent.parent.getDialog(parent); </script> |
|||||
b)点击【确定】或【清除】时,调用以下代码: | |||||
将 window.parent.returnValue = returnjson; window.parent.close(); 修改为: if(dialog){ try{ dialog.callback(returnjson); }catch(e){} try{ dialog.close(returnjson); }catch(e){} }else{ window.parent.returnValue = returnjson; window.parent.close(); } |
|||||
c)关闭弹窗方法,即【取消】按钮 | |||||
dialog.close(); | |||||
改造示例: | |||||
http://192.168.4.44:8080/docs/category/DocTreeDocFieldEdit.jsp?id=4 | |||||
http://192.168.4.44:8080/docs/category/DocTreeDocFieldBrowserSingle.jsp?excludeId=4&superiorFieldId=8&splitflag=, | |||||
注:必须使用browserUrl的方式才有效!!! | |||||
转载请注明:赫非域 » ecology开发之浏览按钮组件