File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<%--
Class Name : EgovNoticeUpdt.jsp
Description : 게시물 수정 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.19 이삼섭 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 이삼섭
since : 2009.03.19
--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko">
<script type="text/javascript" src="<c:url value='/js/EgovBBSMng.js' />"></script>
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js' />"></script>
<validator:javascript formName="board" staticJavascript="false" xhtml="true" cdata="false" />
<script type="text/javascript">
$(document).ready(function() {
//console.log($("#cke_nttCn iframe").contents().find("img").attr("alt"));
});
// 웹에디터 이미지 대체텍스트 내용 복사
function imgAltC(obj, src) {
/*
// 웹에디터 모드가 기본이어야함. 소스 모드 안됨.
if (!($(".cke_button__source").attr("class").indexOf("cke_button_off") > 0)) {
$(".cke_button__source").click();
}
$("#cke_nttCn iframe").contents().find("img").each(function() {
if ($(this).attr("src") == src) {
$(this).attr("alt", $(obj).val());
//console.log($(this).attr("alt"));
}
});
*/
}
// 웹에디터 이미지 대체텍스트 입력 텍스트area 조회
function nttCnImgAltInp() {
// 웹에디터 모드가 기본이어야함. 소스 모드 안됨.
if (!($(".cke_button__source").attr("class").indexOf("cke_button_off") > 0)) {
//$(".cke_button__source").click();
alert("웹에디터 상단에 '소스' 버튼을 클릭하여 모드를 해제 후 재시도 해주십시오."); return;
}
$("#imgAltTextArea").html("");
$("#cke_nttCn iframe").contents().find("img").each(function() {
var src = $(this).attr("src");
var alt = $(this).attr("alt");
var ta = "<textarea rows='10' cols='50' id='"+src+"' onkeyup='imgAltC(this, \""+src+"\");'>"+alt+"</textarea>";
$("#imgAltTextArea").append(ta);
});
}
// 대체텍스트 입력 버튼
function nttCnImgAltSave() {
// 웹에디터 모드가 기본이어야함. 소스 모드 안됨.
if (!($(".cke_button__source").attr("class").indexOf("cke_button_off") > 0)) {
//$(".cke_button__source").click();
alert("웹에디터 상단에 '소스' 버튼을 클릭하여 모드를 해제 후 재시도 해주십시오."); return;
}
$("#imgAltTextArea textarea").each(function() {
var taSrc = $(this).attr("id");
var taVal = $(this).val();
$("#cke_nttCn iframe").contents().find("img").each(function() {
if (taSrc == $(this).attr("src")) {
$(this).attr("alt", taVal);
}
});
});
}
function fn_egov_validateForm(obj) {
return true;
}
function fn_egov_regist_notice() {
CKEDITOR.instances.nttCn.updateElement();
if (!validateBoard(document.board))
return;
/* <c:if test="${bdMstr.bbsTyCode == 'BBST05' or bdMstr.bbsTyCode == 'BBST06'}">
// EgovMultiFile.js - 첨부파일 개수: _base.count default 1 | 수정 시 기첨부파일 개수: _base.update_count default 0
if ((_base.count + _base.update_count) < 2) {
alert("이미지 게시판의 경우 이미지 파일 첨부는 필수 입력값입니다.");
return false;
}
</c:if> */
/* <c:if test="${bdMstr.noticeYn == 'Y' && bdMstr.openYn == 'Y' }">
if (document.board.noticeAt.checked && document.board.secretAt.checked) {
alert("공지 글 등록 시 비밀글로 등록할 수 없습니다.");
//return false;
}
</c:if> */
if (confirm('<spring:message code="common.update.msg" />')) {
document.board.frstRegisterPnttm.value = document.board.day.value
document.board.action = "<c:url value='/cop/bbs/updateBoardArticle.do'/>";
document.board.target = "_self";
document.board.submit();
}
}
function fn_egov_select_noticeList() {
document.searchForm.action = "<c:url value='/cop/bbs/selectBoardList.do'/>";
document.searchForm.submit();
}
function fn_egov_regist_preview() {
var PCC_window = window.open('', 'PCCV3Window', 'width=1200, height=700, resizable=1, scrollbars=yes, status=0, titlebar=0, toolbar=0, left=350, top=50' );
var previewImgs = "";
var i = 0;
$("#DIV_IMG_VIEW").find("img").each(function() {
previewImgs += $(this).get(0).src + "^";
i++;
});
document.board.previewImgs.value = previewImgs;
document.board.action = "<c:url value='/cop/bbs/bbsPreview.do'/>";
document.board.target = "PCCV3Window";
document.board.submit();
}
</script>
<title><c:out value='${bdMstr.bbsNm}' /> - 게시글 수정</title>
</head>
<body>
<div class="ad_content">
<div class="ad_con_head">
<div class="ad_head_text">
<p class="today_txt">
<c:out value='${bdMstr.bbsNm}' /> - 글 수정
</p>
<div class="ad_head_ment">
<p class="today_last_txt"><span id="cnt_cate_list"></span></p>
</div>
</div>
</div>
<div class="ad_subcon">
<form:form commandName="searchForm" name="searchForm" method="get" action="">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>" />
<input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>" />
<input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>" />
<input name="bbsId" type="hidden" value="<c:out value='${searchVO.bbsId}'/>" />
</form:form>
<form:form commandName="board" name="board" method="post" enctype="multipart/form-data">
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" />
<input type="hidden" name="searchCnd" value="<c:out value='${searchVO.searchCnd}'/>" />
<input type="hidden" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" />
<input type="hidden" name="bbsId" value="<c:out value='${board.bbsId}'/>" />
<input type="hidden" name="nttId" value="<c:out value='${board.nttId}'/>" />
<input type="hidden" name="atchFileCnt" value="<c:out value='${board.atchFileCnt}'/>" />
<input type="hidden" name="previewImgs" value="" />
<input type="hidden" name="frstRegisterPnttm" value="<c:out value='${board.frstRegisterPnttm}'/>" />
<!-- 기 업로드 파일 개수 -->
<!-- 다언다청대통 게시판 구분 -->
<c:if test="${bdMstr.bbsId == 'BBSMSTR_000000000221'}">
<input type="hidden" name="ddTyCd" value="<c:out value='${board.ddTyCd}'/>" />
</c:if>
<!-- 통합신고게시판 -->
<c:if test="${bdMstr.bbsTyCode == 'BBST03'}">
<input type="hidden" name="reportTyCd" value="<c:out value='${board.reportTyCd}'/>" />
</c:if>
<div class="main1_div2">
<table class="main1_table">
<tr>
<th>
<spring:message code="cop.nttSj" var="msgNttSj" />
<span class="star_t">* </span>
<c:out value="${msgNttSj}" />
</th>
<td colspan="3">
<form:input path="nttSj" title="${msgNttSj}" />
<form:errors path="nttSj" />
</td>
</tr>
<%-- 비밀번호 사용안함.
<!-- 비밀번호 -->
<c:if test="${brdMstrVO.passwordYn == 'Y' }">
<c:set var="title"></c:set>
<tr>
<th><label for="password">비밀번호 <span class="pilsu"></span></label></th>
<td class="left">
<form:password path="password" title="비밀번호" size="30" maxlength="30" />
<div><form:errors path="password" cssClass="error" /></div>
</td>
<th><label for="password1">비밀번호 확인</label></th>
<td class="left">
<form:password path="password2" title="비밀번호" size="30" maxlength="30" />
<div><form:errors path="password2" cssClass="error" /></div>
</td>
</tr>
</c:if>
<!-- 비밀번호 --> --%>
<tr>
<th>
<span class="star_t">* </span>등록일
</th>
<td colspan="3">
<input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" >
<input type="text" class="date_format" name="day" id="day" maxlength="10" class="readOnlyClass" readonly value="${board.frstRegisterPnttm}">
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.board, document.forms.board.day);">
<img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지">
</a>
</td>
</tr>
<tr>
<th>
<span class="star_t">* </span><spring:message code="cop.nttCn" />
</th>
<td colspan="3">
<textarea id="nttCn" name="nttCn" title="<spring:message code="cop.nttCn" />" cols="500" rows="20">
<c:out value="${board.nttCn}" escapeXml="false" />
</textarea>
<ckeditor:replace replace="nttCn" basePath="${pageContext.request.contextPath}/html/egovframework/com/cmm/utl/ckeditor/" />
<form:errors path="nttCn" />
</td>
</tr>
<!-- 대체텍스트 -->
<tr>
<th>대체텍스트</th>
<td colspan="3">
<button class="main1_btn main1_save_btn" id="main1_save_btn" onclick="javascript:nttCnImgAltInp(); return false;">대체텍스트 조회</button>
<button class="main1_btn main1_save_btn" id="main1_save_btn" onclick="javascript:nttCnImgAltSave(); return false;">대체텍스트 저장</button>
<br>* 웹에디터에 이미지가 있어야 조회/저장 가능합니다.
<br>* 웹에디터가 '소스' 모드 일시 해제 후 조회/저장 가능합니다.(웹에디터 상단 '소스' 버튼 비활성화)
<br>* 이미지가 여러개일 시 순차적으로 입력박스가 조회 되기는 하지만 HTML태그 순으로 정렬됨으로 눈으로 보이는 정확한 정렬은 안될수 있고,
<br> 구분할 수단이 없음으로, 웹에디터 이미지에 우클릭>이미지설정>대체텍스트 입력 후 대체텍스트 조회 버튼 클릭 시 구분을 쉽게 할 수 있습니다.
<br><br><font color="red">* 최종 게시글 등록/수정 버튼 클릭 시 저장되는 대체텍스트는 마지막에 등록 하신 방법(웹에디터 이미지설정 또는 대체텍스트 조회/저장)으로 저장됩니다.</font>
<div id="imgAltTextArea"></div>
</td>
</tr>
<!-- 대체텍스트 -->
<c:if test="${bdMstr.fileAtchPosblAt == 'Y'}">
<c:set var="isImgView" value="false" />
<c:set var="isImgBbs" value="false" />
<c:if test="${bdMstr.bbsTyCode == 'BBST05' || bdMstr.bbsTyCode == 'BBST06'}">
<c:set var="isImgView" value="true" />
<c:set var="isImgBbs" value="true" />
<tr>
<th>이미지</th>
<td colspan="3">
<div>
<c:import url="/cmm/fms/selectImageFileInfs.do" charEncoding="utf-8">
<c:param name="atchFileId" value="${board.atchFileId}" />
</c:import>
</div>
<div id="DIV_IMG_VIEW"></div>
</td>
</tr>
</c:if>
<c:if test="${not empty board.atchFileId}">
<tr>
<th>첨부파일목록</th>
<td colspan="3">
<c:import url="/cmm/fms/selectBBSFileInfsForUpdate.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${board.atchFileId}" />
<c:param name="updateFlag" value="Y" />
<c:param name="isImgView" value="${isImgView}" />
</c:import>
</td>
</tr>
</c:if>
<tr>
<th>
<label for="egovComFileUploader"><spring:message code="cop.atchFile" /></label></br>
<span>최대용량 : <c:out value='${bdMstr.posblAtchFileSize}'/>MB</span>
</th>
<td colspan="3">
<div>
<input name="file_1" id="egovComFileUploader" type="file" />
<div id="egovComFileList"></div>
</div>
<%-- <c:if test="${empty board.atchFileId}">
<input type="hidden" name="fileListCnt" value="0" />
</c:if> --%>
</td>
</tr>
</c:if>
<!-- 공지 여부 -->
<c:choose>
<c:when test="${bdMstr.noticeYn == 'Y'}">
<c:set var="title">공지여부 </c:set>
<tr>
<th>
<label for="noticeAt">${title}</label>
</th>
<td class="left" colspan="3">
<form:checkbox path="noticeAt" class="cb1" value="Y" />
<form:errors path="noticeAt" cssClass="error" />
</td>
</tr>
</c:when>
<c:otherwise>
<form:hidden path="noticeAt" value="N" />
</c:otherwise>
</c:choose>
<!-- 공지 여부 -->
<!-- 공개/비공개 여부 -->
<c:choose>
<c:when test="${bdMstr.openYn == 'Y' && bdMstr.bbsTyCode != 'BBST02' && bdMstr.bbsTyCode != 'BBST03'}">
<c:set var="title">비공개여부</c:set>
<tr>
<th>
<label for="secretAt">${title}</label>
</th>
<td colspan="3">
<form:checkbox path="secretAt" class="cb1" value="Y" />
<form:errors path="secretAt" cssClass="error" />
</td>
</tr>
</c:when>
<c:otherwise>
<form:hidden path="secretAt" value="N" />
</c:otherwise>
</c:choose>
<!-- 공개/비공개 여부 -->
</table>
<c:if test="${bdMstr.fileAtchPosblAt == 'Y'}">
<script type="text/javascript">
var maxFileNum = "<c:out value='${bdMstr.posblAtchFileNumber}'/>";
var maxFileSize = "<c:out value='${bdMstr.posblAtchFileSize}'/>";
if (maxFileNum == null || maxFileNum == "") {
maxFileNum = 0;
}
var multi_selector = new MultiSelector(document.getElementById('egovComFileList'),
maxFileNum, null,
<c:out value="${isImgView}" />,
maxFileSize, <c:out value="${isImgBbs}" />);
multi_selector.addElement(document.getElementById('egovComFileUploader'));
<c:if test="${not empty board.atchFileId}">
fn_egov_multi_selector_update_setting(multi_selector);
</c:if>
</script>
</c:if>
</div>
<!-- 버튼 시작(상세지정 style로 div에 지정) -->
<div class="main1_btn_div">
<button class="main1_btn" onclick="javascript:history.go(-1); return false;">취 소</button>
<button class="main1_btn" onclick="javascript:fn_egov_select_noticeList(); return false;">목 록</button>
<button class="main1_btn" onclick="javascript:fn_egov_regist_preview(); return false;">미리보기</button>
<button class="main1_btn main1_save_btn" id="main1_save_btn" onclick="javascript:fn_egov_regist_notice(); return false;">수 정 </button>
</div>
<!-- 버튼 끝 -->
</form:form>
</div>
</div>
</body>
</html>