카페24 쇼핑몰 체크박스 필수

카페24 쇼핑몰 체크박스 필수

QA

카페24 쇼핑몰 체크박스 필수

본문

안녕하세요.
카페24쇼핑몰은 처음이라 여기저기 찾아보고있는데도

해결이 안됩니다ㅠㅠ
기본 있는 코드에서 체크박스를 하나 더 만들어서 쓰고 싶습니다.
그런데 필수로 했는데도 그냥 제출되어서요..ㅠㅠ

required를 했는데도 안되서 스크립트도 추가해봤는데 안됩니다.

아래는 부분 코드이며

최하단에 전체코드입니다.

 


<tr class="agree {$config.is_login|display}">
                    <th scope="row">재판매 금지 동의</th>
                    <td>
                         
                        <input type="hidden" name="checkbox" value="checkbox">
                        <label>
                            <input type="checkbox" name="checkbox" value="checkbox" id="checkbox" required> 
                            회사 정책 상 본 사업자 몰에서 구입하신 제품의 온라인 재판매는 금하고 있습니다. 동의 시 클릭하신 뒤 글 작성을 완료해 주세요.
                        </label>
                    </td>
                </tr>
 
<script type="text/javascript">
    function validateCheckbox() {
    var checkbox = document.getElementById('checkbox');
    if (!checkbox.checked) {
        alert('회사 정책에 동의해 주세요.');
        return false; // 폼 제출을 막음
    }
    return true; // 폼 제출 허용
}
</script>

 

전체코드입니다


<!--@layout(/layout/basic/layout.html)-->
<div class="sub-visual sub01">
    <div class="tit-box">
        <h2 class="sub-title"></h2>
        <h3>일상을 더 편리하고 안전하게</h3>
    </div>
</div>
        <!--<ul class="snb snb03">
        </ul>-->
<div class="sub0301">
    <section class="sub-section section01">
        <div class="sub-container">
            <div class="contents-tit-box">
                <h5 class="small-tit"></h5>
                <h5 class="big-tit"></h5>
            </div>
             <div class="contents-box">
<div module="board_writePackage_1002">
    <!--@css(/css/module/board/writePackage.css)-->
    <div module="board_title_1002">
        <div class="path">
            <span>현재 위치</span>
            <ol>
                <li><a href="/">홈</a></li>
                <li><a href="/board/index.html">게시판</a></li>
                <li title="현재 위치"><strong>{$board_name}</strong></li>
            </ol>
        </div>
        <div class="titleArea">
            <h2>{$board_title}</h2>
            <p>{$board_info}</p>
            <input type="hidden" id="board_name" value="{$board_name}">
        </div>
    </div>
    <div module="board_write_1002">
        <!--
            $login_page_url = /member/login.html
            $deny_access_url = /index.html
        -->
        <div class="ec-base-table typeWrite">
            <table border="1" summary="">
            <caption>글쓰기 폼</caption>
            <colgroup>
                <col style="width:130px;" />
                <col style="width:auto;" />
            </colgroup>
            <tbody>
                <tr>
                    <th scope="row">제목</th>
                    <td>{$form.board_category} {$form.subject} {$form.notice} {$form.is_post}</td>
                </tr>
                <tr class="{$config.is_login|display}">
                    <th scope="row">작성자</th>
                    <td>{$form.writer}</td>
                </tr>
                <tr class="{$config.use_write_email|display}">
                    <th scope="row">이메일</th>
                    <td>{$form.email}</td>
                </tr>
                <tr class="{$config.is_use_point|display}">
                    <th scope="row">평점</th>
                    <td>{$form.point}</td>
                </tr>
                <tr>
                    <td colspan="2" class="clear">
                        {$form.content}
                       
                    </td>
                </tr>
                <tr class="ucc">
                    <th scope="row">UCC URL</th>
                    <td>{$form.ucc}</td>
                </tr>
            </tbody>
            <tbody class="{$config.use_attach|display}">
                <tr>
                    <th scope="row">첨부파일1</th>
                    <td>{$form.attach_file}</td>
                </tr>
                <tr>
                    <th scope="row">첨부파일2</th>
                    <td>{$form.attach_file}</td>
                </tr>
                <tr>
                    <th scope="row">첨부파일3</th>
                    <td>{$form.attach_file}</td>
                </tr>
                <tr>
                    <th scope="row">첨부파일4</th>
                    <td>{$form.attach_file}</td>
                </tr>
                <tr>
                    <th scope="row">첨부파일5</th>
                    <td>{$form.attach_file}</td>
                </tr>
            </tbody>
            <tbody>
                <tr class="{$config.use_password|display}">
                    <th scope="row">비밀번호</th>
                    <td>{$form.password} <span class="{$password_rule_help_display|display}">(영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자)</span></td>
                </tr>
                <tr class="{$config.use_secret|display}">
                    <th scope="row">비밀글설정</th>
                    <td>{$form.secure}</td>
                </tr>
                <tr class="captcha {$config.use_captcha_write|display}">
                    <th scope="row">보안문자</th>
                    <td>
                        {$captcha_image} {$captcha_refresh}
                        <p class="gBlank5">{$form.captcha} <span class="ec-base-help txtInfo">영문, 숫자 조합을 공백없이 입력하세요(대소문자구분)</span></p>
                    </td>
                </tr>
                <tr class="agree {$config.is_login|display}">
                    <th scope="row">재판매 금지 동의</th>
                    <td>
                         
                        <input type="hidden" name="checkbox" value="checkbox">
                        <label>
                            <input type="checkbox" name="checkbox" value="checkbox" id="checkbox" required> 
                            회사 정책 상 본 사업자 몰에서 구입하신 제품의 온라인 재판매는 금하고 있습니다. 동의 시 클릭하신 뒤 글 작성을 완료해 주세요.
                        </label>
                    </td>
                </tr>
                <tr class="agree {$config.is_login|display}">
                    <th scope="row">개인정보 수집 및 <br />이용 동의</th>
                    <td>
                        {$form.privacy_agreement}<br />
                        개인정보 수집 및 이용에 동의하십니까? {$form.privacy_agreement_radio}
                    </td>
                </tr>
            </tbody>
            </table>
        </div>
        <ul class="info">
            <li>상품과 관련없는 내용 또는 이미지, 욕설/비방, 개인정보유출, 광고/홍보글 등 적절하지 않은 게시물은 별도의 고지없이 비공개 처리 될 수 있습니다. </li>
            <li>작성된 게시물(사진, 동영상 포함)은 운영 및 마케팅에 활용될 수 있습니다.</li>
        </ul>
        <div class="ec-base-button">
            <span class="gLeft">
                <span class="{$config.is_admin|display}"><a href="#none" class="btnNormal sizeS" onclick="{$action_comment_admin}">관리자 답변보기</a></span>
                <a href="{$link_board_list}" class="btnNormalFix sizeS">목록</a>
            </span>
            <span class="gRight">
                <a href="#none" class="btnSubmitFix sizeS" onclick="{$action_write}">등록</a>
                <a href="{$link_board_list}" class="btnBasicFix sizeS">취소</a>
            </span>
        </div>
    </div>
</div>
               
                            </div>
            </div>
        </section>
        </div>
<script type="text/javascript">
    function validateCheckbox() {
    var checkbox = document.getElementById('checkbox');
    if (!checkbox.checked) {
        alert('회사 정책에 동의해 주세요.');
        return false; // 폼 제출을 막음
    }
    return true; // 폼 제출 허용
}
    $(document).ready(function() {      
        
        var tit = "";
        var tit2 = "";
        var tit3 = "";
        var li = "";
        var sub_no = 0;
        
        switch($("#board_name").val()) { 
                case "공지사항": 
                    tit = "CONTACT";
                    tit2 = "NOTICE";
                    tit3 = "애니락의 소식을 들어보세요!";
                    li = '<li><a href="/board/notice/1/">공지사항</a></li><li><a href="/board/product/4/">REVIEW</a></li><li><a href="/board/notice/2/">EVENT</a></li><li><a href="/board/notice/6/">Q&A</a></li><li><a href="/board/consult/9/">1:1 문의하기</a></li><li><a href="/board/galley/8/">사업자인증</a></li>';
                    break;
                case "갤러리": 
                    tit = "CONTACT"; 
                    tit2 = "CERTIFICATION"; 
                    tit3 = "모두에게 검증된 애니락!";
                    li = '<li><a href="/board/notice/1/">공지사항</a></li><li><a href="/board/product/4/">REVIEW</a></li><li><a href="/board/notice/2/">EVENT</a></li><li><a href="/board/notice/6/">Q&A</a></li><li><a href="/board/consult/9/">1:1 문의하기</a></li><li><a href="/board/galley/8/">사업자인증</a></li>';
                    break;
                case "상품 사용후기": 
                    tit = "REVIEW"; 
                    tit2 = "REVIEW"; 
                    tit3 = "다른 고객님들의 리얼리뷰를 확인해보세요!";
                    li = '<li><a href="/board/notice/1/">공지사항</a></li><li><a href="/board/product/4/">REVIEW</a></li><li><a href="/board/notice/2/">EVENT</a></li><li><a href="/board/notice/6/">Q&A</a></li><li><a href="/board/consult/9/">1:1 문의하기</a></li><li><a href="/board/galley/8/">사업자인증</a></li>';
                    break;
                case "상품 Q&A": 
                    tit = "CONTACT"; 
                    tit2 = "Q&A"; 
                    tit3 = "문의사항이 있으시면 언제든 말씀해주세요!";
                    li = '<li><a href="/board/notice/1/">공지사항</a></li><li><a href="/board/product/4/">REVIEW</a></li><li><a href="/board/notice/2/">EVENT</a></li><li><a href="/board/notice/6/">Q&A</a></li><li><a href="/board/consult/9/">1:1 문의하기</a></li><li><a href="/board/galley/8/">사업자인증</a></li>';
                    break;
                case "이벤트": 
                    tit = "CONTACT"; 
                    tit2 = "EVENT"; 
                    tit3 = "애니락의 특별한 이벤트!";
                    li = '<li><a href="/board/notice/1/">공지사항</a></li><li><a href="/board/product/4/">REVIEW</a></li><li><a href="/board/notice/2/">EVENT</a></li><li><a href="/board/notice/6/">Q&A</a></li><li><a href="/board/consult/9/">1:1 문의하기</a></li><li><a href="/board/galley/8/">사업자인증</a></li>';
                    break;
                case "1:1 문의하기": 
                    tit = "CONTACT"; 
                    tit2 = "CONTACT US"; 
                    tit3 = "1:1로 상담해드리겠습니다";
                    li = '<li><a href="/board/notice/1/">공지사항</a></li><li><a href="/board/product/4/">REVIEW</a></li><li><a href="/board/notice/2/">EVENT</a></li><li><a href="/board/notice/6/">Q&A</a></li><li><a href="/board/consult/9/">1:1 문의하기</a></li><li><a href="/board/galley/8/">사업자인증</a></li>';
                    break;
        }
                switch($("#board_name").val()) {
                case "공지사항":
                    sub_no = 1;
                break;
                
                case "REVIEW":
                    sub_no = 2;
                break;
                
                case "EVENT":
                    sub_no = 3;
                break;
                
                case "Q&A":
                    sub_no = 4;
                break;
                
                case "1:1 문의하기":
                    sub_no = 5;
                break;
                        
                case "사업자인증":
                    sub_no = 6;
                break;
        }
        
        $(".sub-title").append(tit);
        $(".small-tit").append(tit2);
        $(".big-tit").append(tit3);
        $(".snb").append(li);
        $(".snb > li:nth-of-type("+sub_no+") > a").addClass('active');
    });
    

</script>

이 질문에 댓글 쓰기 :

답변 1

첫번째 방법 'required' 에 초점을 맞추었습니다.

동일한 id 의 히든 필드는 중복으로 문제가 될 가능성이 높습니다. -> 삭제

체크박스 name, id 변경 (필수는 아니지만 권장) 'checkbox' -> 'chk_agree'

 

<input type="hidden" name="checkbox" value="checkbox">
<label>
    <input type="checkbox" name="checkbox" value="checkbox" id="checkbox" required> 
    회사 정책 상 본 사업자 몰에서 구입하신 제품의 온라인 재판매는 금하고 있습니다. 동의 시 클릭하신 뒤 글 작성을 완료해 주세요.
</label>
->
<label>
  <input type="checkbox" name="chk_agree" value="checkbox" id="chk_agree" required> 
  회사 정책 상 본 사업자 몰에서 구입하신 제품의 온라인 재판매는 금하고 있습니다. 동의 시 클릭하신 뒤 글 작성을 완료해 주세요.
</label>

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

회원로그인

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