에디터를 사용하면서 글자수 제한 사용하는 방법...

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
에디터를 사용하면서 글자수 제한 사용하는 방법...

QA

에디터를 사용하면서 글자수 제한 사용하는 방법...

답변 1

본문

에디터를 사용하면서 최소글자수 제한옵션을 사용하고 싶습니다. (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

관리자 게시판 글제한 설정값을 반영이 않된 이유는 있습니다. 현제 write.php에서는 0  아니면 값을 호출을 하겠다라고되어있습니다. 하지만이를 write.update.php 파일에서는 확인이 되어야 하는데 누락된듯 보입니다.

하여 write.php 파일이아닌 write.update.php 내용확인부분에서  최소값과 최대값의 확인할수있는 부분이 추가되어 커스텀이되어줘야합니다.

 

만약 코어를 건들기 싫다고한다면. 직접 아래 스킨에서 집접 설정값을 호출하여 스크립트 처리해보시기 바랍니다.

설정값은 게시판 설정값 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>

감사합니다. 말씀대로 하니까 에디터 + 글자수 제한까지는 됩니다.

문제는 글자를 집어 넣어도

현재 0 글자이며, 최소 80 글자 이상, 최대 0 글자 이하까지 쓰실 수 있습니다.

문구는 변하지 않으며 글쓰기 완료하면 80자이상 적어야 한다는 오류와 함께

'현재 30글자이며'로 그때서야 글자수가 업데이트 됩니다.

혹시 실시간으로 '현재 0글자'가 움직이게 하려면 어떻게 하면 될까요...?

0은 제한을 하지않겠다는뜻입니다 그렇면 최소값만 정해주면된다라는뜻이디겠지요 만약에 최대값도 제한을 줘야한다면 80이상을 줘야하구요 하지만 이는 이용자로써 불편하지요 만약에 특정한 게시판에서만 그럴사유가 잇어야만히 이를적용해야하는 이유기도합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로