게시판 list 검색과 버튼 이동했을 때 스크립트 작동안됨 채택완료

게시판 list.skin.pnp에서 검색박스를 위로 옮기고 게시판 버튼(관리자,글쓰기) 등을 아래로 옮겼더니

체크박스, 검색기능, 선택삭제 등 기능이 작동하지않습니다.

스크립트도 검색박스와 함께 위로 올려도 작동을 안해서 위치를 그대로 뒀더니 또 작동을 하네요.

하지만 저는 제가 원하는 위치로 옮기고싶은데 이럴때 왜 작동을 안하는건지 알려주시면 감사하겠습니다..

혹시 몰라 코드도 아래에 옮기겠습니다.

Copy
<?php

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

 

// 선택옵션으로 인해 셀합치기가 가변적으로 변함

$colspan = 5;

 

if ($is_checkbox) $colspan++;

if ($is_good) $colspan++;

if ($is_nogood) $colspan++;

 

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

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

?>

 

<!-- 게시판 목록 시작 { -->

<div id="bo_list">

 

    <!-- 게시판 카테고리 시작 { -->

    <?php if ($is_category) { ?>

    <nav id="bo_cate">

        <h2><?php echo $board['bo_subject'] ?> 카테고리</h2>

        <ul id="bo_cate_ul">

            <?php echo $category_option ?>

        </ul>

    </nav>

    <?php } ?>

    <!-- } 게시판 카테고리 끝 -->

 

    <form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php"

        onsubmit="return fboardlist_submit(this);" method="post">

 

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

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

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

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

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

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

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

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

        <input type="hidden" name="sw" value="">

 

        <div class="bo_wrap">

            <div id="bo_list_total">

                <span>Total <?php echo number_format($total_count) ?>건</span>

                ㅣ<?php echo $page ?> 페이지

            </div>

 

            <!-- 게시판 검색 시작 { -->

            <fieldset class="bo_sch">

                <form name="fsearch" method="get">

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

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

                    <input type="hidden" name="sop" value="and">

                    <div class="selectbox">

                        <select name="sfl" id="sfl">

                            <?php echo get_board_sfl_select_options($sfl); ?>

                        </select>

                    </div>

 

                    <div class="sch_bar">

                        <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx"

                            class="sch_input" size="25" maxlength="20" placeholder=" 검색어를 입력해주세요(필수)">

                        <button type="submit" value="검색" class="sch_btn"><i class="fa-solid fa-magnifying-glass"></i>

                            <span class="xbtn"><i class="fa-solid fa-xmark"></i></span>

                        </button>

 

                        <script>

                        /* searchbox */

                        jQuery(function($) {

                            $(".bo_sch .sch_input").on("input", function() {

 

                                let inputval = $(".bo_sch .sch_input").val();

 

                                if (inputval != "") {

                                    $(".xbtn").css("display", "block");

 

                                }

                            });

 

                            $(".xbtn").on("click", function() {

                                $(".bo_sch .sch_input").val("");

                                $(".xbtn").css("display", "none");

                            });

 

                            /* option */

                            $("option").attr("style", "cursor: pointer");

                        });

                        </script>

                    </div>

                </form>

            </fieldset>

        </div>

 

        <div class="tbl_head01 tbl_wrap">

            <table>

                <thead>

                    <tr>

                        <?php if ($is_checkbox) { ?>

                        <th scope="col" class="all_chk chk_box">

                            <input type="checkbox" id="chkall"

                                onclick="if (this.checked) all_checked(true); else all_checked(false);"

                                class="selec_chk">

                            <label for="chkall">

                                <span></span>

                            </label>

                        </th>

                        <?php } ?>

                        <th scope="col">번호</th>

                        <th scope="col">제목</th>

                        <th scope="col">글쓴이</th>

                        <th scope="col"><?php echo subject_sort_link('wr_hit', $qstr2, 1) ?>조회 </a></th>

                        <?php if ($is_good) { ?><th scope="col"><?php echo subject_sort_link('wr_good', $qstr2, 1) ?>추천

                            </a></th><?php } ?>

                        <?php if ($is_nogood) { ?><th scope="col">

                            <?php echo subject_sort_link('wr_nogood', $qstr2, 1) ?>비추천 </a></th><?php } ?>

                        <th scope="col"><?php echo subject_sort_link('wr_datetime', $qstr2, 1) ?>날짜 </a></th>

                    </tr>

                </thead>

                <tbody>

                    <?php

        for ($i=0; $i<count($list); $i++) {

            if ($i%2==0) $lt_class = "even";

            else $lt_class = "";

        ?>

                    <tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?> <?php echo $lt_class ?>">

                        <?php if ($is_checkbox) { ?>

                        <td class="td_chk chk_box">

                            <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>"

                                id="chk_wr_id_<?php echo $i ?>" class="selec_chk">

                            <label for="chk_wr_id_<?php echo $i ?>">

                                <span></span>

                            </label>

                        </td>

                        <?php } ?>

                        <td class="td_num2">

                            <?php

            if ($list[$i]['is_notice']) // 공지사항

                echo '<strong class="notice_icon">공지</strong>';

            else if ($wr_id == $list[$i]['wr_id'])

                echo "<span class=\"bo_current\">열람중</span>";

            else

                echo $list[$i]['num'];

             ?>

                        </td>

 

                        <td class="td_subject"

                            style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px">

                            <?php

                if ($is_category && $list[$i]['ca_name']) {

                ?>

                            <a href="<?php echo $list[$i]['ca_name_href'] ?>"

                                class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>

                            <?php } ?>

                            <div class="bo_tit">

                                <a href="<?php echo $list[$i]['href'] ?>">

                                    <?php echo $list[$i]['icon_reply'] ?>

                                    <?php

                            if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);

                         ?>

                                    <?php echo $list[$i]['subject'] ?>

                                </a>

                                <?php

                    if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";

                    // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }

                    if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']);

                    if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);

                    if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);

                    ?>

                                <?php if ($list[$i]['comment_cnt']) { ?><span

                                    class="sound_only first_sound">댓글</span><span

                                    class="cnt_cmt"><?php echo $list[$i]['wr_comment']; ?></span><span

                                    class="sound_only">개</span><?php } ?>

                            </div>

                        </td>

                        <td class="td_name sv_use"><?php echo $list[$i]['name'] ?></td>

                        <td class="td_num"><?php echo $list[$i]['wr_hit'] ?></td>

                        <?php if ($is_good) { ?><td class="td_num"><?php echo $list[$i]['wr_good'] ?></td><?php } ?>

                        <?php if ($is_nogood) { ?><td class="td_num"><?php echo $list[$i]['wr_nogood'] ?></td><?php } ?>

                        <td class="td_datetime"><?php echo $list[$i]['datetime2'] ?></td>

 

                    </tr>

                    <?php } ?>

                    <?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>

                </tbody>

            </table>

        </div>

        <!-- 페이지 -->

        <?php echo $write_pages; ?>

        <!-- 페이지 -->

        <!--

        <?php if ($list_href || $is_checkbox || $write_href) { ?>

        <div class="bo_fx">

            <?php if ($list_href || $write_href) { ?>

            <ul class="btn_bo_user">

                <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i

                            class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>

                <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i

                            class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li>

                <?php } ?>

                <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i

                            class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li>

                <?php } ?>

            </ul>

            <?php } ?>

        </div>

        <?php } ?> -->

    </form>

    <!-- 게시판 페이지 정보 및 버튼 시작 { -->

    <div id="bo_btn_top">

        <ul class="btn_bo_user">

            <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i

                        class="fa-solid fa-gear"></i></a></li><?php } ?>

            <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i

                        class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li>

            <?php } ?>

            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i

                        class="fa-solid fa-pen"></i></a></li>

            <?php } ?>

            <?php if ($is_admin == 'super' || $is_auth) {  ?>

            <li>

                <button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="리스트 옵션"><i

                        class="fa-solid fa-ellipsis-vertical"></i></button>

                <?php if ($is_checkbox) { ?>

                <ul class="more_opt is_list_btn">

                    <li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i

                                class="fa fa-trash-o" aria-hidden="true"></i>

                            선택삭제</button></li>

                    <li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i

                                class="fa fa-files-o" aria-hidden="true"></i>

                            선택복사</button></li>

                    <li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i

                                class="fa fa-arrows" aria-hidden="true"></i>

                            선택이동</button></li>

                </ul>

                <?php } ?>

            </li>

            <?php }  ?>

        </ul>

    </div>

</div>

 

<?php if($is_checkbox) { ?>

<noscript>

    <p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>

</noscript>

<?php } ?>

 

<?php if ($is_checkbox) { ?>

<script>

function all_checked(sw) {

    var f = document.fboardlist;

 

    for (var i = 0; i < f.length; i++) {

        if (f.elements[i].name == "chk_wr_id[]")

            f.elements[i].checked = sw;

    }

}

 

function fboardlist_submit(f) {

    var chk_count = 0;

 

    for (var i = 0; i < f.length; i++) {

        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)

            chk_count++;

    }

 

    if (!chk_count) {

        alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");

        return false;

    }

 

    if (document.pressed == "선택복사") {

        select_copy("copy");

        return;

    }

 

    if (document.pressed == "선택이동") {

        select_copy("move");

        return;

    }

 

    if (document.pressed == "선택삭제") {

        if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))

            return false;

 

        f.removeAttribute("target");

        f.action = g5_bbs_url + "/board_list_update.php";

    }

 

    return true;

}

 

// 선택한 게시물 복사 및 이동

function select_copy(sw) {

    var f = document.fboardlist;

 

    if (sw == "copy")

        str = "복사";

    else

        str = "이동";

 

    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");

 

    f.sw.value = sw;

    f.target = "move";

    f.action = g5_bbs_url + "/move.php";

    f.submit();

}

 

// 게시판 리스트 관리자 옵션

jQuery(function($) {

    $(".btn_more_opt.is_list_btn").on("click", function(e) {

        e.stopPropagation();

        $(".more_opt.is_list_btn").toggle();

    });

    $(document).on("click", function(e) {

        if (!$(e.target).closest('.is_list_btn').length) {

            $(".more_opt.is_list_btn").hide();

        }

    });

});

</script>

<?php } ?>

<!-- } 게시판 목록 끝 -->

답변 4개

채택된 답변
+20 포인트
Copy
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
    <div id="bo_btn_top">
        <ul class="btn_bo_user">
            <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i
                        class="fa-solid fa-gear"></i></a></li><?php } ?>
            <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i
                        class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li>
            <?php } ?>
            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i
                        class="fa-solid fa-pen"></i></a></li>
            <?php } ?>
            <?php if ($is_admin == 'super' || $is_auth) {  ?>
            <li>
                <button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="리스트 옵션"><i
                        class="fa-solid fa-ellipsis-vertical"></i></button>
                <?php if ($is_checkbox) { ?>
                <ul class="more_opt is_list_btn">
                    <li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i
                                class="fa fa-trash-o" aria-hidden="true"></i>
                            선택삭제</button></li>
                    <li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i
                                class="fa fa-files-o" aria-hidden="true"></i>
                            선택복사</button></li>
                    <li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i
                                class="fa fa-arrows" aria-hidden="true"></i>
                            선택이동</button></li>
                </ul>
                <?php } ?>
            </li>
            <?php }  ?>
        </ul>
    </div>

위 구간을

Copy
</form>

[선택XX] 이 형식이 submit이기 때문에 </form> 위로 올리셔야 해요

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

답변에 대한 댓글 2개

그렇게했는데 검색을 누르면 삭제를 하겠습니까?라는 팝업창이 뜨거나 선택이동을 누르면 스크롤이위로 올라가는 등 기능이 뒤죽박죽 된거같아요..
해결됐습니다! 알려주셔서 감사합니다!

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

Copy
<form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php"
        onsubmit="return fboardlist_submit(this);" method="post">
 
        <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
        <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
        <input type="hidden" name="stx" value="<?php echo $stx ?>">
        <input type="hidden" name="spt" value="<?php echo $spt ?>">
        <input type="hidden" name="sca" value="<?php echo $sca ?>">
        <input type="hidden" name="sst" value="<?php echo $sst ?>">
        <input type="hidden" name="sod" value="<?php echo $sod ?>">
        <input type="hidden" name="page" value="<?php echo $page ?>">
        <input type="hidden" name="sw" value="">

이동

<div class="tbl_head01 tbl_wrap"><----- 이 라인 바로 위
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

게시판 검색 시작 부분을 말씀하신 부분 위로 올렸을 때 체크는 표시되지만 선택삭제를 누르면 위로 스크롤이 되고 검색을 누르면 선택삭제하시겠습니까? 라고 뜹니다..ㅜㅜ
해결됐습니다! 알려주셔서 감사합니다!

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

<form>  <!-- 리스트 폼 -->

  <form>  <!-- 검색 폼 -->

  ~

  </form>

</form>

=>

<form>  <!-- 검색 폼 -->

  ~

</form>

<form>  <!-- 리스트 폼 --> 

~

</form>

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

답변에 대한 댓글 1개

해결됐습니다! 알려주셔서 감사합니다!

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

html 작성 시에 일반적으로 

<form>

    <form>

쉽게 설명하자면 폼안에 폼이 들어가면 오류라고 생각하시면 될거 같습니다.

form 은 각각의 기능 영역으로 이해하시면 됩니다.

첫번째 폼은 리스트의 체크박스 때문에 쓴 폼이고

검색 폼은 검색의 영역이니 

폼안에 폼을 넣지 않는 내에서 작업을 다시 한번 해보세요.

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

답변에 대한 댓글 2개

그렇게했는데 검색을 누르면 삭제를 하겠습니까?라는 팝업창이 뜨거나 선택이동을 누르면 스크롤이위로 올라가는 등 기능이 뒤죽박죽 된거같아요..
해결됐습니다! 알려주셔서 감사합니다!

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

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

로그인
🐛 버그신고