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

글쓰기 수정 시 체크박스 값 사라짐.. 채택완료

스규스규 2년 전 조회 1,950

</p>

<p><?php</p>

<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');</p>

<p> </p>

<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p>

<p>add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);</p>

<p> </p>

<p>add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/dhtmlxgantt.css">', 0);</p>

<p>add_javascript('<script src="'.$board_skin_url.'/dhtmlxgantt.js"><script>', 0);</p>

<p>?></p>

<p><article id="bo_v" style="width:100%;"></p>

<p><section id="bo_w"></p>

<p>    <h2 class="sound_only"><?php echo $g5['title'] ?></h2></p>

<p> </p>

<p>    <!-- 게시물 작성/수정 시작 { --></p>

<p>    <form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>"></p>

<p>    <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>"></p>

<p>    <input type="hidden" name="w" value="<?php echo $w ?>"></p>

<p>    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></p>

<p>    <input type="hidden" name="wr_id" value="<?php echo $wr_id ?>"></p>

<p>    <input type="hidden" name="sca" value="<?php echo $sca ?>"></p>

<p>    <input type="hidden" name="sfl" value="<?php echo $sfl ?>"></p>

<p>    <input type="hidden" name="stx" value="<?php echo $stx ?>"></p>

<p>    <input type="hidden" name="spt" value="<?php echo $spt ?>"></p>

<p>    <input type="hidden" name="sst" value="<?php echo $sst ?>"></p>

<p>    <input type="hidden" name="sod" value="<?php echo $sod ?>"></p>

<p>    <input type="hidden" name="page" value="<?php echo $page ?>"></p>

<p>    <?php</p>

<p>    $option = '';</p>

<p>    $option_hidden = '';</p>

<p>    if ($is_notice || $is_html || $is_secret || $is_mail) {</p>

<p>        $option = '';</p>

<p>        if ($is_notice) {</p>

<p>            $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="notice" name="notice"  class="selec_chk" value="1" '.$notice_checked.'>'.PHP_EOL.'<label for="notice"><span></span>공지</label></li>';</p>

<p>        }</p>

<p>        if ($is_html) {</p>

<p>            if ($is_dhtml_editor) {</p>

<p>                $option_hidden .= '<input type="hidden" value="html1" name="html">';</p>

<p>            } else {</p>

<p>                $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="html" name="html" onclick="html_auto_br(this);" class="selec_chk" value="'.$html_value.'" '.$html_checked.'>'.PHP_EOL.'<label for="html"><span></span>html</label></li>';</p>

<p>            }</p>

<p>        }</p>

<p>        if ($is_secret) {</p>

<p>            if ($is_admin || $is_secret==1) {</p>

<p>                $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="secret" name="secret"  class="selec_chk" value="secret" '.$secret_checked.'>'.PHP_EOL.'<label for="secret"><span></span>비밀글</label></li>';</p>

<p>            } else {</p>

<p>                $option_hidden .= '<input type="hidden" name="secret" value="secret">';</p>

<p>            }</p>

<p>        }</p>

<p>        if ($is_mail) {</p>

<p>            $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="mail" name="mail"  class="selec_chk" value="mail" '.$recv_email_checked.'>'.PHP_EOL.'<label for="mail"><span></span>답변메일받기</label></li>';</p>

<p>        }</p>

<p>    }</p>

<p>    echo $option_hidden;</p>

<p>    ?></p>

<p> </p>

<p>    <?php if ($is_category) { ?></p>

<p>    <div class="bo_w_select write_div"></p>

<p>        <label for="ca_name" class="sound_only">분류<strong>필수</strong></label></p>

<p>        <select name="ca_name" id="ca_name" required></p>

<p>            <option value="">분류를 선택하세요</option></p>

<p>            <?php echo $category_option ?></p>

<p>        </select></p>

<p>    </div></p>

<p>    <?php } ?></p>

<p> </p>

<p><div class="mc mc-write mc-write-gantt"></p>

<p>    <div class="mc-control-row mc-control-row-required"></p>

<p>            <span class="mc-control-label">프로젝트 기간</span></p>

<p>            <div class="table_center" style="display: table-cell;vertical-align: middle;padding-left: 10px;box-sizing: border-box;"></p>

<p>                <div class="date_flex"></p>

<p>                    <div class="mc-controls" data-name="wr_1" data-type="date" data-root="" data-multiple="0" data-mode="write" data-input="input" data-required="1"></p>

<p>                        <input type="text" name="wr_1" value="<?php echo $write["wr_1"]; ?>" id="date_wr_1" required class="frm_input" size="11" readonly="readonly"></p>

<p>                    </div></p>

<p>                    <span>~</span></p>

<p>                    <div class="mc-controls" data-name="wr_2" data-type="date" data-root="" data-multiple="0" data-mode="write" data-input="input" data-required="1"></p>

<p>                    <input type="text" name="wr_2" value="<?php echo $write["wr_2"]; ?>" id="date_wr_2" required class="frm_input" size="11" readonly="readonly"></p>

<p>                    </div></p>

<p>                </div>  </p>

<p>            </div></p>

<p>        </div></p>

<p>        <div class="mc-control-row mc-control-row-required"></p>

<p>            <span class="mc-control-label">프로젝트 기간</span></p>

<p>            <div class="mc-controls" data-name="wr_3" data-type="category" data-root="53" data-multiple="" data-mode="write" data-input="checkbox" data-required="1"></p>

<p>                <script type="text/json">{"column":"path"}</script></p>

<p>                <input type="hidden" name="wr_3" value="<?php echo $write['wr_3']?>" title="프로젝트 기간" class="required"></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="1" onchange="mc.handle(this)">1</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="2" onchange="mc.handle(this)">2</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="3" onchange="mc.handle(this)">3</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="4" onchange="mc.handle(this)">4</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="5" onchange="mc.handle(this)">5</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="6" onchange="mc.handle(this)">6</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="7" onchange="mc.handle(this)">7</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="8" onchange="mc.handle(this)">8</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="9" onchange="mc.handle(this)">9</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="10" onchange="mc.handle(this)">10</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="11" onchange="mc.handle(this)">11</label></p>

<p>                <label class="mc-control-radio"><input type="checkbox" data-name="wr_3" value="12" onchange="mc.handle(this)">12</label></p>

<p>            </div></p>

<p>        </div></p>

<p>       </p>

<p>    <div class="mc-control-row mc-control-row-required w_full"></p>

<p>        <span class="mc-control-label">프로젝트 명</span></p>

<p>        <div class="mc-controls" data-name="wr_subject" data-type="text" data-root="" data-multiple="0" data-mode="write" data-input="input" data-required="1"></p>

<p>            <input type="text" name="wr_subject" value="<?php echo $subject?>" data-name="wr_subject" required="" ize="50" maxlength="255" placeholder="프로젝트 명"></p>

<p>        </div></p>

<p>    </div></p>

<p></div></p>

<p>   </p>

<p>    <div class="bo_w_info write_div"></p>

<p>        <?php if ($is_name) { ?></p>

<p>            <label for="wr_name" class="sound_only">이름<strong>필수</strong></label></p>

<p>            <input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input half_input required" placeholder="이름"></p>

<p>        <?php } ?></p>

<p>   </p>

<p>        <?php if ($is_password) { ?></p>

<p>            <label for="wr_password" class="sound_only">비밀번호<strong>필수</strong></label></p>

<p>            <input type="password" name="wr_password" id="wr_password" <?php echo $password_required ?> class="frm_input half_input <?php echo $password_required ?>" placeholder="비밀번호"></p>

<p>        <?php } ?></p>

<p>   </p>

<p>        <?php if ($is_email) { ?></p>

<p>            <label for="wr_email" class="sound_only">이메일</label></p>

<p>            <input type="text" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input half_input email " placeholder="이메일"></p>

<p>        <?php } ?></p>

<p>       </p>

<p>   </p>

<p>        <?php if ($is_homepage) { ?></p>

<p>            <label for="wr_homepage" class="sound_only">홈페이지</label></p>

<p>            <input type="text" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input half_input" size="50" placeholder="홈페이지"></p>

<p>        <?php } ?></p>

<p>    </div></p>

<p> </p>

<p>   </p>

<p>    <div class="write_div"></p>

<p>   </p>

<p>   </p>

<p>        <label for="wr_content" class="sound_only">내용<strong>필수</strong></label></p>

<p>        <div class="wr_content <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>"></p>

<p>            <?php if($write_min || $write_max) { ?></p>

<p>            <!-- 최소/최대 글자 수 사용 시 --></p>

<p>            <p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p></p>

<p>            <?php } ?></p>

<p>            <?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?></p>

<p>            <?php if($write_min || $write_max) { ?></p>

<p>            <!-- 최소/최대 글자 수 사용 시 --></p>

<p>            <div id="char_count_wrap"><span id="char_count"></span>글자</div></p>

<p>            <?php } ?></p>

<p>        </div></p>

<p>       </p>

<p>    </div></p>

<p> </p>

<p>    <?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?></p>

<p>   </p>

<p>    <?php } ?></p>

<p> </p>

<p>    <?php for ($i=0; $is_file && $i<$file_count; $i++) { ?></p>

<p>   </p>

<p>    <?php } ?></p>

<p>    <?php for ($i=0; $is_file && $i<$file_count; $i++) { ?></p>

<p>    <div class="bo_w_flie write_div"></p>

<p>        <div class="file_wr write_div"></p>

<p>            <label for="bf_file_<?php echo $i+1 ?>" class="lb_icon"><i class="fa fa-folder-open" aria-hidden="true"></i><span class="sound_only"> 파일 #<?php echo $i+1 ?></span></label></p>

<p>            <input type="file" name="bf_file[]" id="bf_file_<?php echo $i+1 ?>" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file "></p>

<p>        </div></p>

<p>        <?php if ($is_file_content) { ?></p>

<p>        <input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="full_input frm_input" size="50" placeholder="파일 설명을 입력해주세요."></p>

<p>        <?php } ?></p>

<p>       </p>

<p>        <?php if($w == 'u' && $file[$i]['file']) { ?></p>

<p>        <span class="file_del"></p>

<p>            <input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i;  ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')';  ?> 파일 삭제</label></p>

<p>        </span></p>

<p>        <?php } ?></p>

<p>    </div></p>

<p>    <?php } ?></p>

<p>

 </p>

<p>    <?php if ($is_use_captcha) { //자동등록방지  ?></p>

<p>    <div class="write_div"></p>

<p>        <?php echo $captcha_html ?></p>

<p>    </div></p>

<p>    <?php } ?></p>

<p> </p>

<p>    <div class="btn_confirm write_div"></p>

<p>        <a href="<?php echo get_pretty_url($bo_table); ?>" class="btn_cancel btn">취소</a></p>

<p>        <button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">작성완료</button></p>

<p>    </div></p>

<p>    </form></p>

<p> </p>

<p>    <script></p>

<p>    <?php if($write_min || $write_max) { ?></p>

<p>    // 글자수 제한</p>

<p>    var char_min = parseInt(<?php echo $write_min; ?>); // 최소</p>

<p>    var char_max = parseInt(<?php echo $write_max; ?>); // 최대</p>

<p>    check_byte("wr_content", "char_count");</p>

<p> </p>

<p>    $(function() {</p>

<p>        $("#wr_content").on("keyup", function() {</p>

<p>            check_byte("wr_content", "char_count");</p>

<p>        });</p>

<p>    });</p>

<p> </p>

<p>    <?php } ?></p>

<p>    function html_auto_br(obj)</p>

<p>    {</p>

<p>        if (obj.checked) {</p>

<p>            result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을
태그로 변환하는 기능입니다.");</p>

<p>            if (result)</p>

<p>                obj.value = "html2";</p>

<p>            else</p>

<p>                obj.value = "html1";</p>

<p>        }</p>

<p>        else</p>

<p>            obj.value = "";</p>

<p>    }</p>

<p> </p>

<p>    function fwrite_submit(f)</p>

<p>    {</p>

<p>        <?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함   ?></p>

<p> </p>

<p>        var subject = "";</p>

<p>        var content = "";</p>

<p>        $.ajax({</p>

<p>            url: g5_bbs_url+"/ajax.filter.php",</p>

<p>            type: "POST",</p>

<p>            data: {</p>

<p>                "subject": f.wr_subject.value,</p>

<p>                "content": f.wr_content.value</p>

<p>            },</p>

<p>            dataType: "json",</p>

<p>            async: false,</p>

<p>            cache: false,</p>

<p>            success: function(data, textStatus) {</p>

<p>                subject = data.subject;</p>

<p>                content = data.content;</p>

<p>            }</p>

<p>        });</p>

<p> </p>

<p>        if (subject) {</p>

<p>            alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");</p>

<p>            f.wr_subject.focus();</p>

<p>            return false;</p>

<p>        }</p>

<p> </p>

<p>        if (content) {</p>

<p>            alert("내용에 금지단어('"+content+"')가 포함되어있습니다");</p>

<p>            if (typeof(ed_wr_content) != "undefined")</p>

<p>                ed_wr_content.returnFalse();</p>

<p>            else</p>

<p>                f.wr_content.focus();</p>

<p>            return false;</p>

<p>        }</p>

<p> </p>

<p>        if (document.getElementById("char_count")) {</p>

<p>            if (char_min > 0 || char_max > 0) {</p>

<p>                var cnt = parseInt(check_byte("wr_content", "char_count"));</p>

<p>                if (char_min > 0 && char_min > cnt) {</p>

<p>                    alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");</p>

<p>                    return false;</p>

<p>                }</p>

<p>                else if (char_max > 0 && char_max < cnt) {</p>

<p>                    alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");</p>

<p>                    return false;</p>

<p>                }</p>

<p>            }</p>

<p>        }</p>

<p> </p>

<p>        <?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함  ?></p>

<p> </p>

<p>        document.getElementById("btn_submit").disabled = "disabled";</p>

<p> </p>

<p>        return true;</p>

<p>    }</p>

<p> </p>

<p>    $(function(){</p>

<p> </p>

<p>$("#date_wr_1").datepicker({ changeMonth: true, changeYear: true, dateFormat: "mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", minDate: "+3d;", maxDate: "+365d;" });</p>

<p> </p>

<p>});</p>

<p> </p>

<p>$(function(){</p>

<p> </p>

<p>$("#date_wr_2").datepicker({ changeMonth: true, changeYear: true, dateFormat: "mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", minDate: "+3d;", maxDate: "+365d;" });</p>

<p> </p>

<p>});</p>

<p> </p>

<p>    </script></p>

<p></section></p>

<p><!-- } 게시물 작성/수정 끝 --></p>

<p></article></p>

<p> </p>

<p>


수정페이지를 들어가면 체크 박스 부분만 체크가 풀려 있습니다..
input의 value값에는 분명 값이 들어가 있는데.. label들이 반응을 안하네요...

무슨 이유일까요.. 도움을 부탁드립니다..
이프온리님의 mc 플러그인을 사용하고 있습니다

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

답변 2개

채택된 답변
+20 포인트
2년 전

디음과 같이 하세요

 

상단 php부분에 추가

 $chkArr=array('','','','','','','','','','','','','');
 $tmp = explode(",", $write['wr_3']);
 foreach($tmp as $val) $chkArr[$val] =' checked';

----------------------------------------------------------

<input type="hidden" name="wr_3"~~~~ <===삭제

onchange="mc.~~~"   모두 삭제 / name="wr_3[]" 모두 추가 

<input type="checkbox" name="wr_3[]" data-name="wr_3" value="1"<?php echo $chkArr[1]?>>
<input type="checkbox" name="wr_3[]" data-name="wr_3" value="2"<?php echo $chkArr[2]?>>
 ~
 <input type="checkbox" name="wr_3[]" data-name="wr_3" value="12"<?php echo $chkArr[12]?>>

------------------------------

스킨폴더에 write_update.head.skin.php 생성 후

<?php

$wr_3 = implode(",", $_POST['wr_3']);


 

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

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

M
2년 전

현재 wr_3을 checkbox로 구현하셔서 그렇습니다.

이런 경우 수정으로 들어오실때는 strpos 같은걸 사용해서 해당 데이터안에 값이 들어 있는지를 체크하시면 됩니다.

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

답변에 대한 댓글 1개

스규스규
2년 전
<input type="hidden" name="wr_3" value="<?php echo $write['wr_3']?>" title="프로젝트 기간" class="required">
<?php

$wr_3_values = array();

if (!empty($_POST['wr_3'])) {
// Split the wr_3 data into individual values
$wr_3_values = explode(',', $_POST['wr_3']);
}

$desired_value = '3';

// Check if the desired value exists in the wr_3 array
if (in_array($desired_value, $wr_3_values)) {
echo 'The value ' . $desired_value . ' exists in wr_3 array.';
} else {
echo 'The value ' . $desired_value . ' does not exist in wr_3 array.';
}
?>

이런식으로 넣는게 맞는건가요??

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

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

로그인