📄 tagfield.jsp
字号:
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@include file="/common/taglibs.jsp"%>
<%@ page import="java.util.*"%>
<%@ page import="cn.myapps.core.validate.repository.action.ValidateRepositoryHelper" %>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>
body, a, table, div, span, td, th, input, select{font:9pt;font-family: "{*[SongTi]*}", Verdana, Arial, Helvetica, sans-serif;}
body {padding:5px}
.card {cursor:hand;background-color:#3A6EA5;text-align:center;}
table{
border-color: #FFFFFF;
border-collapse: collapse;
background-image: none;
border-top: 0px solid #FFFFFF;
}
table.content td {border-color:#000000;vertical-align:middle;cursor:hand;}
table.content {border-color:#000000;width:100%;}
#tb td{text-align:center;}
</STYLE>
<link rel="stylesheet" href="<ww:url value='/resource/css/lightbox.css'/>" media="screen,projection" type="text/css" />
<script language=JavaScript src="dialog.js"></script>
<script language=JavaScript src="script.js"></script>
<script language=JavaScript src="<ww:url value='/script/lightbox-iframe.js'/>"></script>
<script src='<ww:url value="/dwr/interface/ApplicationUtil.js"/>'></script>
<SCRIPT language=JavaScript>
// 替换特殊字符
function HTMLEncode(text){
text = text.replace(/&/g, "@amp;") ;
text = text.replace(/"/g, "@quot;") ;
text = text.replace(/</g, "@lt;") ;
text = text.replace(/>/g, "@gt;") ;
text = text.replace(/'/g, "@#146;") ;
text = text.replace(/\ /g,"@nbsp;");
return text;
}
// 替换特殊字符
function HTMLDencode(text){
var textold;
do {
textold = text;
text = text.replace("@amp;","&") ;
text = text.replace('@quot;','"') ;
text = text.replace("@lt;","<") ;
text = text.replace("@gt;",">") ;
text = text.replace("@#146;","'") ;
text = text.replace("@nbsp;"," ");
}
while(textold != text);
return text;
}
// 选项卡点击事件
function cardClick(cardID){
var obj;
for (var i=1;i<7;i++){
obj=document.all("card"+i);
obj.style.backgroundColor="#3A6EA5";
obj.style.color="#FFFFFF";
}
obj=document.all("card"+cardID);
obj.style.backgroundColor="#FFFFFF";
obj.style.color="#3A6EA5";
for (var i=1;i<7;i++){
obj=document.all("content"+i);
obj.style.display="none";
}
obj=document.all("content"+cardID);
obj.style.display="";
}
function getInnerHTML() {
var s = '<img className="cn.myapps.core.dynaform.form.ejb.TagField"';
s += ' src="../formeditor/buttonimage/standard/tag.gif"';
s += ' type="tagfield" ';
s += ' relStr="'+createRelStr()+'"';
s += '>';
return s;
}
var sAction = URLParams['action'] ;
var sTitle = "{*[Insert]*}";
var oControl;
var oSeletion;
var sRangeType;
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
sRangeType = dialogArguments.eWebEditor.document.selection.type;
if (sAction == "modify"){
if (sRangeType == "Control"){
if (oSelection.item(0).tagName.toUpperCase() == "IMG"){
oControl = oSelection.item(0);
}
}else{
oControl = getParentObject(oSelection.parentElement(), "IMG");
}
if (oControl) {
sTitle = "{*[Modify]*}";
}
}
document.write("<title>{*[Tab Menu property]*}(" + sTitle + ")</title>");
// 初始值
function InitDocument(){
// 修改状态时取值
try{
if (sAction == "modify"){
var relStr = oControl.relStr;
var datas = parseRelStr(relStr);
addRows(datas);
} else {
addRows();
}
}catch(ex){}
}
//点击取消
function ev_cancel() {
window.close();
}
// 点击返回
function ev_ok(){
//检查内容是否完成正确
if(!ev_check())
return;
if(sAction == "modify"){
oControl.relStr = createRelStr();
}
else if(dialogArguments != null) {
dialogArguments.insertHTML(getInnerHTML());
}
window.returnValue = null;
window.close();
}
//检查内容是否完成正确
function ev_check(){
if(temp.name.value==''){
alert('{*[Please input name]*}');
return false;
}
return true;
}
var instance = '<%= session.getAttribute("APPLICATION")%>';
var module = '<ww:property value="#parameters.moduleid" />'
var rowIndex = 1;
var getTag = function(data) { return '{*[Tab]*}:' };
var getName = function(data) {
return '<input type="text" name="name" value="' + HTMLDencode(data.name) + '" size="15"/>';
};
var getForm = function(data) {
var s ='';
s +='<select id="formId'+ rowIndex +'" name="formId" style="width:200">';
s +='<option value="'+data.formId+'" selected></option>'
s +='</select>';
return s;
};
var getHiddenScript = function(data) {
var s = '<input type="button" value="{*[Open]*}" onclick="showDialog(\'script'+rowIndex+'\')"/>';
s += '<textarea id="script'+rowIndex+'" name="hiddenScript" style="display:none"/>'+HTMLDencode(data.hiddenScript)+'</textarea>';
return s;
};
var getDelete = function(data) {
var s = '<input type="button" value="{*[Delete]*}" onclick="delRow(tb, this.parentNode.parentNode)"/>';
rowIndex ++;
return s;
};
//DWRUtil.setEscapeHtml(false);
// 根据数据增加行
function addRows(datas) {
var cellFuncs = [getTag, getName, getForm, getHiddenScript, getDelete];
var rowdatas = datas;
if (!datas) {
var data = {name:'', formId:'', hiddenScript:''};
rowdatas = [data];
}
DWRUtil.addRows("tb", rowdatas, cellFuncs);
ApplicationUtil.getFormByModule(module, instance, function(options) {
addOptions("formId", options);
});
}
// 删除一行
function delRow(id, row) {
var elem = $(id);
if (elem) {
elem.deleteRow(row.rowIndex);
rowIndex --;
}
}
// 增加element options
function addOptions(elemName, options) {
var elems = document.getElementsByName(elemName);
for (var i=0; i<elems.length; i++) {
var defVal = elems[i].value;
DWRUtil.removeAllOptions(elems[i].id);
DWRUtil.addOptions(elems[i].id, options);
DWRUtil.setValue(elems[i].id, defVal);
}
}
// 根据mapping str获取data array
function parseRelStr(str) {
var obj = eval(str);
if (obj instanceof Array) {
return obj;
} else {
return new Array();
}
}
// 根据页面内容生成关系语句
function createRelStr() {
var names = document.getElementsByName("name");
var formIds = document.getElementsByName("formId");
var scripts = document.getElementsByName("hiddenScript");
var str = '[';
for (var i=0;i<names.length;i++) {
if (names[i].value != '' && formIds[i].value != '') {
str += '{'
str += names[i].name +':\''+ HTMLEncode(names[i].value) + '\',';
str += formIds[i].name +':\''+ formIds[i].value + '\',';
str += scripts[i].name +':\''+ HTMLEncode(scripts[i].value) + '\'';
str += '},';
}
}
str = str.substring(0, str.length - 1);
str += ']';
return str;
}
function showDialog(elId) {
var el = $(elId);
var width = "510";
var height = "290";
var url = "hiddenscript.html";
var rtn = "";
if (el) {
//alert(el.value);
rtn = showModalDialog(url, el.value, "dialogWidth:" + width + "px;dialogHeight:" + height+"px;help:no;scroll:auto;status:no");
if (rtn != null && rtn != 'undefined') {
el.value = rtn;
}else {
el.value = '';
}
}
}
</script>
</HEAD>
<BODY bgcolor=menu onload="InitDocument()">
<form name="temp">
<table border=1 cellpadding=0 cellspacing=0 width="100%" class="content" bgcolor=#ffffff>
<tr><td colspan="5" align="right">
<input type="button" value="{*[Add]*}" onclick="addRows()"/>
</td></tr>
<tr>
<td>
<table border=0 class="content">
<tbody id="tb">
<tr>
<td></td>
<td>{*[Name]*}</td>
<td width="45 %">{*[Form]*}</td>
<td >{*[Hidden Script]*}</td>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr align="center"><td colspan="12">
<input type=button value="{*[OK]*}" onclick="ev_ok()">
<input type=button value="{*[Cancle]*}" onclick="ev_cancel()">
</td></tr>
</table>
</form>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -