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

그누보드 게시판 선택삭제쪽과 검색쪽 충돌 채택완료

mituhashi1218 2년 전 조회 2,155

안녕하세요!

게시판을 커스텀했는데 체크박스 체크 후 선택삭제,선택복사,선택이동 누르면 검색창에 저 표시가 나옵니다. 그런데 검색어를 쓰고 누르면 작동이 되고, zoom 아이콘 클릭하면 검색은 안되고 선택이동팝업이 뜨는데 어디서 충돌이 났는지 찾기가 어려워 질문드립니다!

오늘도 좋은하루보내세요!

 

list.skin.php 코드입니다.

 

</p>

<p><?php</p>

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

<p>include_once(G5_LIB_PATH.'/thumbnail.lib.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>$bo_fieldm = array();</p>

<p>if ($board['bo_fieldm'] != '') {</p>

<p>    $bo_fieldm = json_decode($board['bo_fieldm'], true);</p>

<p>}</p>

<p>

 </p>

<p>?></p>

<p><h4 class="tab-tit">대한민국 건축물 비구조요소 내진설치 실적</h4></p>

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

<p><ul class="activity-tab"></p>

<p>        <?php</p>

<p>            $sql = " select count(*) as cnt from {$g5['board_table']} where gr_id = 'activity' order by bo_subject "; // 게시판 중에 gr_id 가 activity 인 게시판들의 개수를 불러옴</p>

<p>            $row = sql_fetch($sql);</p>

<p>            $sql = " select bo_table, bo_subject from {$g5['board_table']} where gr_id = 'activity' order by gr_id "; // 그룹이 acitivity인 게시판들의 bo_table, bo_subject 를 가져옴</p>

<p>            $result = sql_query($sql);</p>

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

<p>            for($i=0;$row=sql_fetch_array($result);$i++){ // for문으로 카테고리를 생성</p>

<p>                $str .= '<li><a href="/bbs/board.php?bo_table='.$row['bo_table'].'" title="'.$row['bo_subject'].'"';</p>

<p>                if( $row['bo_table'] === $bo_table )</p>

<p>                $str .= 'class="active"';</p>

<p>                $str .= '>'.$row['bo_subject'].'</a></li>';</p>

<p>            }</p>

<p>            echo $str;</p>

<p>        ?></p>

<p></ul></p>

<p> </p>

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

<p><div id="bo_gall" style="width:<?php echo $width; ?>"></p>

<p>

 </p>

<p>    <form name="fboardlist"  id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post"></p>

<p>    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></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>    <input type="hidden" name="sw" value=""></p>

<p> </p>

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

<p>    <div id="bo_btn_top"></p>

<p>        <div id="bo_list_total"></p>

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

<p>            <?php echo $page ?> 페이지</p>

<p>        </div></p>

<p> </p>

<p>        <?php if ($rss_href || $write_href) { ?></p>

<p>        <ul class="btn_bo_user"></p>

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

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

<p>            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pen" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?></p>

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

<p>            <li></p>

<p>                <button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button></p>

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

<p>                <ul class="more_opt is_list_btn">  </p>

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

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

<p>                    <li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li></p>

<p>                </ul></p>

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

<p>            </li></p>

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

<p>        </ul></p>

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

<p>    </div></p>

<p>    <!-- } 게시판 페이지 정보 및 버튼 끝 --></p>

<p> </p>

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

<p>    <div id="gall_allchk" class="all_chk chk_box"></p>

<p>        <input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk"></p>

<p>        <label for="chkall"></p>

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

<p>            <b class="sound_only">현재 페이지 게시물 </b> 전체선택</p>

<p>        </label></p>

<p>    </div></p>

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

<p> </p>

<p>    <ul id="gall_ul" class="gall_row"></p>

<p> </p>

<p>        <li class="<?php echo implode(' ', $classes); ?>"></p>

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

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

<p> </p>

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

<p> </p>

<p>                         <div class="list-spec"></p>

<p>                            <table></p>

<p>                                <tr class="table-top"></p>

<p>                                    <td>번호</td></p>

<p>                                    <td>공사명</td></p>

<p>                                    <td>품목</td></p>

<p>                                    <td>계약처</td></p>

<p>                                    <td>일자</td></p>

<p>                                </tr></p>

<p>                                <?php for ($i=0; $i<count($list); $i++) {</p>

<p> </p>

<p>                                $classes = array();</p>

<p> </p>

<p>                                $classes[] = 'table-wr';</p>

<p>                                $classes[] = 'col-gn-'.$bo_gallery_cols;</p>

<p> </p>

<p>                                if( $i && ($i % $bo_gallery_cols == 0) ){</p>

<p>                                    $classes[] = 'box_clear';</p>

<p>                                }</p>

<p> </p>

<p>                                if( $wr_id && $wr_id == $list[$i]['wr_id'] ){</p>

<p>                                    $classes[] = 'gall_now';</p>

<p>                                }</p>

<p>                                ?></p>

<p>                                <tr class="table-wr"></p>

<p>                                    <td class="td_num2"><?php echo $list[$i]['num']; ?></td></p>

<p>                                    <td></p>

<p>                                        <a href="<?php echo $list[$i]['href'] ?>" class="bo_tit"></p>

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

<p>                                        </a></p>

<p>                                    </td></p>

<p>                                        <?php</p>

<p>                                        foreach ($bo_fieldm as $k => $v) {</p>

<p>                                            if($v['lv'] != '1') continue;</p>

<p>                                        ?></p>

<p>                               </p>

<p>                                        <!-- <th><?php echo get_text($v['name'])?></th> --></p>

<p>                                    <td><?php echo get_text($list[$i][$k]); ?></td></p>

<p>                               </p>

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

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

<p>                                    <td class="gall_chk chk_box"></p>

<p>                                        <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk"></p>

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

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

<p>                                            <b class="sound_only"><?php echo $list[$i]['subject'] ?></b></p>

<p>                                        </label></p>

<p>                                    </td></p>

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

<p>                                </tr></p>

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

<p>                            </table></p>

<p>                        </div></p>

<p>

 </p>

<p>                         <span class="bo_cnt"><?php echo utf8_strcut(strip_tags($list[$i]['wr_content']), 68, '..'); ?></span></p>

<p>                    </div></p>

<p> </p>

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

<p>                        <span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?></p>

<p>                        <span class="gall_date"><span class="sound_only">작성일 </span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span></p>

<p>                        <span class="gall_view"><span class="sound_only">조회 </span><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></span></p>

<p>                    </div></p>

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

<p>                        <?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?></p>

<p>                        <?php if ($is_nogood) { ?><span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?></strong><?php } ?>          </p>

<p>                    </div></p>

<p>                </div></p>

<p>            </div></p>

<p>        </li></p>

<p>       </p>

<p>        <?php if (count($list) == 0) { echo "<li class=\"empty_list\">게시물이 없습니다.</li>"; } ?></p>

<p>    </ul></p>

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

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

<p>        <fieldset class="bo_sch"></p>

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

<p>            <input type="hidden" name="sfx" value="wr_subject||wr_1||wr_2||wr_3"></p>

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

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

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

<p>            <label for="sfl" class="sound_only">검색대상</label></p>

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

<p>                <option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject', true); ?>>공사명</option></p>

<p>                <option value="wr_1"<?php echo get_selected($sfl, 'wr_1'); ?>>품목</option></p>

<p>                <option value="wr_2"<?php echo get_selected($sfl, 'wr_2'); ?>>계약처</option></p>

<p>                <option value="wr_2"<?php echo get_selected($sfl, 'wr_3'); ?>>일자</option></p>

<p>            </select></p>

<p>            <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label></p>

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

<p>                <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="sch_input" size="25" maxlength="20" placeholder="검색어를 입력해주세요"></p>

<p>                <button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button></p>

<p>            </div></p>

<p>            <button type="button" class="bo_sch_cls"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button></p>

<p>            </form></p>

<p>        </fieldset></p>

<p>    </div></p>

<p><!-- } 게시판 검색 끝 --></p>

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

<p><noscript></p>

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

<p></noscript></p>

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

<p> </p>

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

<p><script></p>

<p>function all_checked(sw) {</p>

<p>    var f = document.fboardlist;</p>

<p> </p>

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

<p>        if (f.elements[i].name == "chk_wr_id[]")</p>

<p>            f.elements[i].checked = sw;</p>

<p>    }</p>

<p>}</p>

<p> </p>

<p>function fboardlist_submit(f) {</p>

<p>    var chk_count = 0;</p>

<p> </p>

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

<p>        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)</p>

<p>            chk_count++;</p>

<p>    }</p>

<p> </p>

<p>    if (!chk_count) {</p>

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

<p>        return false;</p>

<p>    }</p>

<p> </p>

<p>    if(document.pressed == "선택복사") {</p>

<p>        select_copy("copy");</p>

<p>        return;</p>

<p>    }</p>

<p> </p>

<p>    if(document.pressed == "선택이동") {</p>

<p>        select_copy("move");</p>

<p>        return;</p>

<p>    }</p>

<p> </p>

<p>    if(document.pressed == "선택삭제") {</p>

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

<p>            return false;</p>

<p> </p>

<p>        f.removeAttribute("target");</p>

<p>        f.action = g5_bbs_url+"/board_list_update.php";</p>

<p>    }</p>

<p> </p>

<p>    return true;</p>

<p>}</p>

<p> </p>

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

<p>function select_copy(sw) {</p>

<p>    var f = document.fboardlist;</p>

<p> </p>

<p>    if (sw == "copy")</p>

<p>        str = "복사";</p>

<p>    else</p>

<p>        str = "이동";</p>

<p> </p>

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

<p> </p>

<p>    f.sw.value = sw;</p>

<p>    f.target = "move";</p>

<p>    f.action = g5_bbs_url+"/move.php";</p>

<p>    f.submit();</p>

<p>}</p>

<p> </p>

<p>// 게시판 리스트 관리자 옵션</p>

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

<p>    $(".btn_more_opt.is_list_btn").on("click", function(e) {</p>

<p>        e.stopPropagation();</p>

<p>        $(".more_opt.is_list_btn").toggle();</p>

<p>    });</p>

<p>    $(document).on("click", function (e) {</p>

<p>        if(!$(e.target).closest('.is_list_btn').length) {</p>

<p>            $(".more_opt.is_list_btn").hide();</p>

<p>        }</p>

<p>    });</p>

<p>});</p>

<p></script></p>

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

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

<p> </p>

<p>

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

답변 2개

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

선택삭제 폼의 닫는 폼태그가 없네요. 그래서 선택삭제폼안에 검색폼이 들어가게 인식되어서 그렇습니다. 선택삭제에 </form>으로 닫고, 검색폼은 밖으로 빼보세요

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

답변에 대한 댓글 1개

m
mituhashi1218
2년 전
아이고.. 제가 이걸 못보고 계속 헤매고 있었네요ㅠㅠㅠ 정말 감사합니다!

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

플라이
2년 전

태그의 열기 닫기 태그의 문제로 보여집니다.
기능 검색 처리시 @세크티 님의 말씀처럼 폼태그를 검색과 분리해서 처리하셔야 합니다.

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

답변에 대한 댓글 1개

m
mituhashi1218
2년 전
답변감사합니다! 덕분에 해결하였습니다 :) 좋은하루보내세요!

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

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

로그인