123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <jsp:include page="${data._INCLUDE}/header.jsp"></jsp:include>
- <script>
- $( function(){
- $( "#sendForm" ).validate({
- rules: {
- title : {
- maxlength : 100
- },
- content: {
- maxlength : 4000
- },
- },
- messages : {
- title : {
- required : "제목을 입력해주세요."
- },
- content : {
- required : "내용을 입력해주세요."
- }
- },
- onkeyup: function( element, event ) {
- $( element ).valid();
- },
- onfocusout: function (element) {
- $( element ).val( $.trim( $( element ).val() ) );
- $( element ).valid();
- },
- submitHandler: function(form) {
- form.submit();
- }
- });
- // var groupIdx = "<c:out value='${groupIdx}'/>";
- // if (groupIdx != "1") {
- // alertBox({ txt : '공지사항 수정 권한이 없습니다.', callBack : function(){ location.href='./list' } });
- // }
- var button = '';
- var fileOrgName = '<c:out value="${item.fileOriginalName}" />';
- console.log("fileOrgName -- > " + fileOrgName);
- button = '<input type="file" style="display: none;" id="file" name="file" onchange="checkFile(this);">';
- if (fileOrgName == "") {
- button = '<input type="file" id="file" name="file" onchange="checkFile(this);">';
- button += '<button type="button" class="btn btn-danger" id="fileRemoveBtn" onclick="removeFile();">첨부파일 삭제</button>';
- } else {
- button += '<button type="button" class="btn btn-danger" id="fileRemoveBtn" onclick="removeFileNameTag();">첨부파일 삭제</button>';
- }
- $("#fileTd").append(button);
- })
- function checkFile(el){
- // files 로 해당 파일 정보 얻기.
- var file = el.files;
- // file[0].size 는 파일 용량 정보입니다.
- if(file[0].size > 1024 * 1024 * 10){
- // 용량 초과시 경고후 해당 파일의 용량도 보여줌
- alert('10MB 이하 파일만 등록할 수 있습니다.\n\n' + '현재파일 용량 : ' + (Math.round(file[0].size / 1024 / 1024 * 100) / 100) + 'MB');
- } else {
- // 체크를 통과했다면 종료.
- return;
- }
- // 체크에 걸리면 선택된 내용 취소 처리를 해야함.
- // 파일선택 폼의 내용은 스크립트로 컨트롤 할 수 없습니다.
- // 그래서 그냥 새로 폼을 새로 써주는 방식으로 초기화 합니다.
- // 이렇게 하면 간단 !?
- el.outerHTML = el.outerHTML;
- }
- function removeFileNameTag() {
- $("#fileName").css("display", "none");
- $("#file").remove();
- $("#fileTd").prepend('<input type="file" id="file" name="file" onchange="checkFile(this);">');
- $("input[name=fileOriginalName]").val("");
- document.getElementById("fileRemoveBtn").setAttribute("onClick", "removeFile()");
- }
- function removeFile() {
- $("#file").val("");
- }
- </script>
- </head>
- <body>
- <div class="wrapper">
- <jsp:include page="${data._INCLUDE}/sidebar.jsp"></jsp:include>
-
- <div class="main">
- <jsp:include page="${data._INCLUDE}/top.jsp"></jsp:include>
- <main class="content">
- <div class="container-fluid p-0">
- <div class="row">
- <div class="col-12 col-lg-6">
- <h1 class="h3 mb-3">공지사항</h1>
- </div>
- <div class="col-12 col-lg-6 text-right">
- <nav aria-label="breadcrumb">
- <ol class="breadcrumb">
- <li class="breadcrumb-item"><a href="javscript:;">Home</a></li>
- <li class="breadcrumb-item">공지사항 수정</li>
- </ol>
- </nav>
- </div>
- </div>
- <div class="row">
- <div class="col-12">
- <div class="card">
- <form id="sendForm" action="./edit/update" method="post" enctype="multipart/form-data">
- <input type="hidden" name="postSeq" value='<c:out value="${item.postSeq}"/>' >
- <input type="hidden" name="fileName" value='<c:out value="${item.fileName}"/>' >
- <input type="hidden" name="fileOriginalName" value='<c:out value="${item.fileOriginalName}"/>' >
- <div class="card-body">
- <table class="table mobile-table">
- <colgroup>
- <col style="width:20%">
- <col style="width:80%">
- </colgroup>
- <tr>
- <th><span class="fix">*</span>제목</th>
- <td>
- <input type="text" name="title" class="form-control" value='<c:out value="${item.title}"/>' placeholder="제목을 입력하세요" maxlength="80" required>
- </td>
- </tr>
-
- <tr>
- <th><span class="fix">*</span>내용</th>
- <td>
- <textarea class="form-control" rows="10" cols="" name="content" placeholder="내용을 입력하세요" maxlength="1000" required><c:out value="${item.content}" /></textarea>
- </td>
- </tr>
-
- <tr>
- <th>첨부파일</th>
- <td id="fileTd">
- <c:if test="${item.fileOriginalName eq ''}">
-
- </c:if>
- <c:if test="${item.fileOriginalName ne ''}">
- <span id="fileName"><c:out value="${item.fileOriginalName}" /></span>
- </c:if>
-
- <!-- <input type="file" style="display: none;" id="file" name="file" onchange="checkFile(this);"> -->
- </td>
- </tr>
- </table>
-
- <div class="row mt-3">
- <div class="col-12">
- <div class="text-right">
- <button type="button" class="btn btn-outline-primary w100" onclick="history.back();">취소</button>
- <button type="submit" class="btn btn-primary w100">수정</button>
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </main>
- <jsp:include page="${data._INCLUDE}/footer.jsp"></jsp:include>
- </div>
- </div>
- </body>
- </html>
|