| CMS/프레임워크 | XE 1.x |
|---|---|
| 개발 언어 | PHP 7.4 |
xe (제로보드) 으로 모바일 사이트제작중인데
리스트>본문>댓글 작성후 등록 >댓글등록안됨
작성품
<load target="css/style.css" />
<script>
function submitDocument() {
jQuery('.btn_submit').text('저장 중...').prop('disabled', true);
// 3. (중요) 1초 뒤 목록으로 강제 이동
// 글쓰기는 이미지가 있을 수 있으니 시간을 좀 더 줌 (1000ms)
setTimeout(function() {
var mid = jQuery('input[name=mid]').val();
location.href = "index.php?mid=" + mid + "&act=dispBoardList";
}, 1000);
return true;
}
</script>
<div class="nw_skin">
<div class="nw_head">
<h2>글쓰기</h2>
<a href="{getUrl('act','','document_srl','')}" class="btn_back">취소</a>
</div>
<form action="/" method="post" target="write_frame" onsubmit="return submitDocument()" class="nw_write">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="vid" value="{$vid}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="act" value="procBoardInsertDocument" />
<input type="hidden" name="ruleset" value="insert_document" />
<input type="hidden" name="module" value="board" />
<input type="hidden" name="success_return_url" value="index.php?mid={$mid}&act=dispBoardList" />
<div cond="$module_info->use_category=='Y'">
<label>카테고리</label>
<select name="category_srl">
<option value="">선택하세요</option>
<option loop="$category_list => $val" disabled="disabled"|cond="!$val->grant" value="{$val->category_srl}" selected="selected"|cond="$val->grant&&$val->selected||$val->category_srl==$category_srl">{$val->title}</option>
</select>
</div>
<div>
<label>제목</label>
<input type="text" name="title" value="{htmlspecialchars($oDocument->getTitleText())}" placeholder="제목 입력" required />
</div>
<div loop="$extra_keys => $key, $val">
<label>{$val->name} <span cond="$val->is_required=='Y'" style="color:#FF007F">*</span></label>
{$val->getFormHTML()}
</div>
<div>
<label>내용</label>
<textarea name="content" placeholder="내용 입력">{$oDocument->getContentText()}</textarea>
</div>
<button type="submit" class="btn_submit">등록하기</button>
</form>
</div>
코멘트
<load target="css/style.css" />
<script>
function submitComment() {
// 2. 버튼 비활성화 (중복 방지)
jQuery('.btn_cmt_save').text('등록 중...').prop('disabled', true);
// 3. (중요) 0.5초 뒤 무조건 새로고침
// 서버가 흰 화면을 띄우든 말든 상관없이 화면을 갱신함
setTimeout(function() {
location.reload();
}, 500);
return true; // 폼 전송 진행
}
</script>
<div class="nw_cmt_wrap">
<div class="cmt_head">
댓글 <span style="color:#FF007F">{$oDocument->getCommentCount()}</span>
</div>
<ul class="cmt_list" cond="$oDocument->getCommentCount()">
<li loop="$oDocument->getComments()=>$key,$comment" id="comment_{$comment->comment_srl}">
<div class="cmt_content">
<div class="cmt_meta">
<span class="author">{$comment->getNickName()}</span>
<span class="date">{$comment->getRegdate('Y.m.d H:i')}</span>
<a cond="$comment->isGranted()" href="{getUrl('act','dispBoardDeleteComment','comment_srl',$comment->comment_srl)}" class="btn_del">x</a>
</div>
{$comment->getContent(false)}
</div>
</li>
</ul>
<form action="/" method="post" target="cmt_frame" onsubmit="return submitComment()" class="cmt_write">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="vid" value="{$vid}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
<input type="hidden" name="act" value="procBoardInsertComment" />
<input type="hidden" name="ruleset" value="insert_comment" />
<input type="hidden" name="module" value="board" />
<input type="hidden" name="success_return_url" value="index.php?mid={$mid}&document_srl={$oDocument->document_srl}&act=dispBoardContent" />
<textarea name="content" class="cmt_area" placeholder="댓글을 입력하세요" required></textarea>
<button type="submit" class="btn_cmt_save">등록</button>
</form>
</div>
댓글 0