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

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

QA

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

본문

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

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT