에디터를 사용하면서 글자수 제한 사용하는 방법...
본문
에디터를 사용하면서 최소글자수 제한옵션을 사용하고 싶습니다. (10글자 이상 작성해야 글 쓸수있게...)
bbs/write.php 에서
// 글자수 제한 설정값
if ($is_admin || $board['bo_use_dhtml_editor'])
{
$write_min = $write_max = 0;
}
else
{
$write_min = (int)$board['bo_write_min'];
$write_max = (int)$board['bo_write_max'];
해당소스를
$write_min = (int)$board['bo_write_min'];
$write_max = (int)$board['bo_write_max'];
이런식으로 변경해봤더니
현재 글자이며, 최소 80 글자 이상, 최대 0 글자 이하까지 쓰실 수 있습니다.
라고는 뜨는데 작동을 하지 않네요.
혹시 에디터를 사용하면서 최소 글자수 옵션 사용방법이 없을까요 ㅠㅠ?
답변 1
스킨에서 집접 설정값을 호출하여 스크립트 처리해보시기 바랍니다.
설정값은 게시판 설정값 text 던 dhtml 그대로 상관없이 반영될것입니다.
<?php $write_min = (int)$board['bo_write_min']; $write_max = (int)$board['bo_write_max']; ?>
<div class="write_div">
<label for="wr_content" class="sound_only">내용<strong>필수</strong></label>
<div class="wr_content <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
<?php if($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
<p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
<?php } ?>
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
<?php if($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
<div id="char_count_wrap"><span id="char_count"></span>글자</div>
<?php } ?>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
const form = document.getElementById('fwrite');
const editor = document.querySelector('#wr_content');
const minChars = <?php echo $write_min; ?>;
const maxChars = <?php echo $write_max; ?>;
form.addEventListener('submit', function(e) {
const content = editor.value.trim(); // 에디터 내용 가져오기
const plainText = content.replace(/<[^>]*>?/gm, ''); // HTML 태그 제거
if (minChars && plainText.length < minChars) {
alert("내용은 최소 " + minChars + "글자 이상이어야 합니다.");
e.preventDefault();
return false;
}
if (maxChars && plainText.length > maxChars) {
alert("내용은 최대 " + maxChars + "글자 이하이어야 합니다.");
e.preventDefault();
return false;
}
});
});
</script>