테스트 사이트 - 개발 중인 베타 버전입니다

카페24 쇼핑몰 체크박스 필수 채택완료

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

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

아래는 부분 코드이며

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

 

</p>

<p><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></p>

<p> </p>

<p><script type="text/javascript">

    function validateCheckbox() {

    var checkbox = document.getElementById('checkbox');

    if (!checkbox.checked) {

        alert('회사 정책에 동의해 주세요.');

        return false; // 폼 제출을 막음

    }

    return true; // 폼 제출 허용

}</p>

<p></script></p>

<p>

 

전체코드입니다

</p>

<p><!--@layout(/layout/basic/layout.html)--></p>

<p><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></p>

<p>        <div class="titleArea">

            <h2>{$board_title}</h2>

            <p>{$board_info}</p>

            <input type="hidden" id="board_name" value="{$board_name}">

        </div>

    </div></p>

<p>    <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}

                       </p>

<p>                    </td>

                </tr>

                <tr class="ucc">

                    <th scope="row">UCC URL</th>

                    <td>{$form.ucc}</td>

                </tr>

            </tbody></p>

<p>            <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></p>

<p>            <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">개인정보 수집 및 
이용 동의</th>

                    <td>

                        {$form.privacy_agreement}


                        개인정보 수집 및 이용에 동의하십니까? {$form.privacy_agreement_radio}

                    </td>

                </tr>

            </tbody>

            </table>

        </div></p>

<p>        <ul class="info">

            <li>상품과 관련없는 내용 또는 이미지, 욕설/비방, 개인정보유출, 광고/홍보글 등 적절하지 않은 게시물은 별도의 고지없이 비공개 처리 될 수 있습니다. </li>

            <li>작성된 게시물(사진, 동영상 포함)은 운영 및 마케팅에 활용될 수 있습니다.</li>

        </ul></p>

<p>        <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;

        }</p>

<p>                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');

    });

    </p>

<p>

</script></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

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

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

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

 

->

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고