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

검색 금지어 설정 코드 한번만 봐주실수있나요? 채택완료

도비is뿌리 6년 전 조회 4,063

                                                                                                   

               

                               

                               

 

 

 

금지어를 불러와서 검색어가 그중 포함 되어있으면 검색불가능하다고 알려주는 경고창을 띄울려는데 이게 배열이 첫번째거만 먹히네요....

어딜 어떻게 고쳐야하나요

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

답변 1개

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

id는..고유값인데 배열을 넣으니까 ???.....소스가..

 

점심때도 봤던 비슷한 질문 하신거 같아서.....꼭 필요하신 기능이신거 같아

일단은 게시판글쓰기 소스 가져다 간단하게 적용해본 소스입니다.

bbs/ajax.filter.php는 원본 안건드리고 그냥 검색창쪽 있는 소스만 수정했습니다.

 

</p>

<p>

                <legend>사이트 내 전체검색</legend>

                <form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">

                <input type="hidden" name="sfl" value="wr_subject||wr_content">

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

                <label for="sch_stx" class="sound_only">검색어 필수</label>

                <input type="text" name="stx" id="sch_stx" maxlength="20" placeholder="검색어를 입력해주세요">

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

                </form></p>

<p>                <script>

                function fsearchbox_submit(f)

                {

                    var search = document.getElementById('sch_stx').value;                

                    $.ajax({

                        url: g5_bbs_url+"/ajax.filter.php",

                        type: "POST",

                        data: {

                            "content": search

                        },

                        dataType: "json",

                        async: false,

                        cache: false,

                        success: function(data, textStatus) {

                            content = data.content;

                        }

                    });</p>

<p>

                    if (content) {

                        alert("금지단어('"+content+"')가 포함되어있습니다");

                        return false;

                    }

                    

                    if (f.stx.value.length < 2) {

                        alert("검색어는 두글자 이상 입력하십시오.");

                        f.stx.select();

                        f.stx.focus();

                        return false;

                    }</p>

<p>                    // 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.

                    var cnt = 0;

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

                        if (f.stx.value.charAt(i) == ' ')

                            cnt++;

                    }</p>

<p>                    if (cnt > 1) {

                        alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");

                        f.stx.select();

                        f.stx.focus();

                        return false;

                    }</p>

<p>                    return true;

                }

                </script></p>

<p> </p>

<p> </p>

<p>

 

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

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

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

로그인