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

필드 설정 지정 채택완료

허걱김선생 8개월 전 조회 1,557

수고하십니다.

 

필드를 사용하여 게시판이 만들어져 있습니다.

 

원본은 필드 설정을 하여 제목을 만들어 주고

내용을 적게 되어 있습니다.

 

css가 엉켜서 인지

본문에서 나오게 하는 체크 부분이 나타나지 않고 있습니다.

 

</p>

<p><input type="checkbox" name="<?= $wr_key_lv ?>" id="<?= $wr_key_lv ?>"<?php echo ($bo_fieldm[$wr_key]['lv'] == 1 ? ' checked' : ''); ?> value="1"></p>

<p>

 

여분필드가 1~10까지 있는데요.

하나씩 선택하거나 모두 나타 날 수 있게

이를 강제로 체크해 줄 수 있는 방법이 있을까요?

 

조언 좀 부탁드립니다.

 

감사합니다.


</p>

<p>    <button type="button" class="btn btn-fconfig" style="background-color:#EB1424; color:#fff">필드설정</button>

    <form id="fconfig" name="fconfig" action="<?php echo $board_skin_url ?>/field_update_x.php" method="post" style="display:none;">

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

    <h3>추가 필드 제목 설정</h3>

        <?php

        for ($i = 1; $i <= 10; $i++) {

            $wr_key_name = 'wr_' . $i . '_name';

            $wr_key_lv = 'wr_' .$i . '_lv';

            $wr_key = 'wr_' . $i;

        ?>

            <div>

                <label for="<?= $wr_key_name ?>">필드제목(<?=$wr_key?>)</label>

                <input id="<?= $wr_key_name ?>" name="<?= $wr_key_name ?>" value="<?php echo get_text($bo_fieldm[$wr_key]['name']) ?>" class="frm_input">

                <label for="<?= $wr_key_lv ?>" class="tr">목록에 표시</label>

                <input type="checkbox" name="<?= $wr_key_lv ?>" id="<?= $wr_key_lv ?>"<?php echo ($bo_fieldm[$wr_key]['lv'] == 1 ? ' checked' : ''); ?> value="1">

            </div>

        <?php

        }

        ?>

        <div class="action"><button type="submit" class="btn btn_submit">설정 저장</button></div>

    </form></p>

<p>

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

답변 2개

채택된 답변
+20 포인트
glitter0gim
8개월 전

안녕하세요. 해당 문제를 해결하는 방법은 크게 두 가지로 나눌 수 있습니다.
 

1. 현재 PHP 조건문에서 $bo_fieldm[$wr_key]['lv'] 값에 따라 체크 상태가 결정되고 있습니다.

만약 항상 강제로 체크된 상태로 표시하고 싶다면,

조건문 없이 단순히 checked 속성을 직접 넣어주시면 됩니다.

<input type="checkbox" name="<?= $wr_key_lv ?>" id="<?= $wr_key_lv ?>" checked value="1">
 

2. JavaScript를 이용한 동적 체크,

만약 사용자가 선택적으로 "모두 체크" 또는 "개별 체크" 기능을 사용하도록 하고 싶다면,

버튼을 추가하고 JavaScript를 이용해 해당 체크박스들의 상태를 변경할 수 있습니다.

<button type="button" onclick="checkAllFields()">모두 체크</button>
<script>
  function checkAllFields(){
      for(var i = 1; i <= 10; i++){
          var checkbox = document.getElementById('wr_' + i + '_lv');
          if(checkbox) {
              checkbox.checked = true;
          }
      }
  }
</script>

 

CSS가 엉켜서 체크박스가 보이지 않는 문제라면,

CSS 해당 요소에 display: none; 또는 visibility: hidden; 같은 속성이 적용됐는지 점검하세요.

 

기본 상태를 변경하려는 목적이시라면 PHP 코드를 수정하는 방법이 간단하고 확실합니다.

하지만 사용자가 선택할 수 있도록 기능을 추가하고 싶다면

JavaScript를 통해 동적으로 처리하는 것도 좋은 방법일 수 있습니다.

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

답변에 대한 댓글 2개

허걱김선생
8개월 전
답변 감사합니다.

알려 주신 팁으로 모두 체크 버튼이 생성되어서 노출은 잘 되고 있습니다.

말씀 처럼 script 부분을 넣어 보니 모두 체크 버튼은 생성 되나 개별 체크 할 수 있는 기능은 나타 나지 않네요.

관리자만 글을 쓰는 경우라
관리자가 한번 지정해 두면 그 다음 부터는 지정하지 않아도 되는 부분입니다.

소중한 답변 정말 감사합니다.
g
glitter0gim
8개월 전
선생님 덕분에 한 수 배워갑니다.
감사합니다.^^

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

glitter0gim
8개월 전

.^^

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

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

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

로그인