필드 설정 지정

필드 설정 지정

QA

필드 설정 지정

답변 2

사용하는 빌더

리빌더

그누보드5(영카트) 버전

5.6.10

본문

수고하십니다.

 

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

 

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

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

 

css가 엉켜서 인지

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

 


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

 

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

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

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

 

조언 좀 부탁드립니다.

 

감사합니다.



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

이 질문에 댓글 쓰기 :

답변 2

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

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를 통해 동적으로 처리하는 것도 좋은 방법일 수 있습니다.

답변 감사합니다.

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

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

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

소중한 답변 정말 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 67
© SIRSOFT
현재 페이지 제일 처음으로