⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tagfield.jsp

📁 OBPM是一个开源
💻 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 + -