질문 Q #22789
CI3 버전 사용중인데, 게시판 검색기능을 추가중입니다.
Austin 2020-10-12 17:21:58

lemp stack 환경에서 게시판 만드는중인데, 페이징 작업 후 검색기능을 추가하였으나,

검색창과 검색버튼이 나왔고, default 로 빈공간 검색시 alert 까지 됩니다.

하지만 검색어 입력 후 검색을 누를 시 아무런 변화가 생기질 않습니다.

어디서 문제가 생긴걸까요..

 

스크립트 부분입니다.

추가 요청시 답글로 코드 올려드리겠습니다.ㅠㅠ

 

 

<script>

$(document).ready(function() {

$("#search_btn").click(function(){

if($("#q").val() == ''){

alert("검색어를 입력하시오");

return false;

} else {

var act = "/board/lists/test_ci_board/q/" + $("#q").val() + "page/1";

$("#bd_search").attr('action', act).submit();

}

});

});

function board_search_enter(form) {

var keycode = window.event.keyCode;

if(keycode==13)

$("#search_btn").click();

}

</script>

 

 

답변 15
#1 변종원(웅파) 2020-10-12 17:31:12

/board/lists/test_ci_board/q/검색어page/1

소스대로라면 위처럼 되어서 결과가 아무 것도 없는거 아닌가요? ^^

폼전송이 안되는 것이라면 다른 문제구요

#2 Austin 2020-10-12 17:44:20

슬래쉬 빠뜨린거 말씀해주신거죠..?!

고쳐서 이렇게 바꿨는데도 아무런 변화가 없습니다 ㅠㅠ

var act = "/board/lists/test_ci_board/q/" + $("#q").val() + "/page/1";
#3 변종원(웅파) 2020-10-12 17:46:44

그럼 $("#bd_search").attr('action', act).submit(); 이 부분이 작동 안하는 겁니다.

브라우저 개발자도구-콘솔 부분에 에러나는게 있는지 보세요.

그리고 브라우저에서 주소로 직접 http://도메인/board/lists/test_ci_board/q/검색어/page/1 라고 쳐서 검색이 작동하는지도 체크해보시구요

#4 Austin 2020-10-12 17:51:22

아무런 에러가 안뜹니다.ㅠㅠ

 

도메인 직접 입력시 

이 에러가 나옵니다

#5 배강민 2020-10-12 17:54:32

bd_search : 이게 form 태그의 id여야하는데 맞나요?

맞다면 form 안에 검색어 input이 존재하는게 맞나요?

근데 위와 같다면 get으로 넘기는거면 굳이 action의 url을 변경하지 않고 form을 그냥 넘겨도 되겠는데 이렇게 하시는 이유가 있나요

#6 Austin 2020-10-12 17:57:42

@배강민

 

이그나이터를 처음 사용해봐서 구글링하여 따라가고있습니다.ㅠ

form 아이디는 bd_search 맞고, input도 존재합니다.

#7 배강민 2020-10-12 17:58:32

https://jsfiddle.net/Ldq8509z/1/

사용하신 js 그대로 해본겁니다. 정상 동작합니다. 참고해보세요

#8 배강민 2020-10-12 18:01:17
페이지로 넘어가질 않는다는게 아니라, 넘어는 가는데 넘어간 페이지가 에러라는건가요?
#9 Austin 2020-10-12 18:02:38

@배강민

검색창에 검색어를 입력하고 엔터를 누르면 아무런 반응이 없고,

주소창에 직접 입력시 에러가 발생합니다.

#10 배강민 2020-10-12 18:05:53

 

엔터말고 검색버튼을 누르면 정상인건가요?

주소창에 직접 입력시 에러가 발생하는건 php코드가 뭔가 잘못되어있는거겠죠.

#11 배강민 2020-10-12 18:07:19

엔터라함은 board_search_enter이걸로 구현을 하셨나본에 이걸 실행하는건 안보이는데 어디선가 하고 계시겠죠?

근데, form내의 submit은 기본으로 엔터로 동작하는데 form 밖에 버튼이 존재하나보죠?

#12 Austin 2020-10-13 08:57:30

@배강민

 

form 안에 board_search_enter 있습니다!

#13 배강민 2020-10-13 09:26:31

죄송하지만, 보여주신 코드와 질문 내용으로는 저는 더는 답을 드릴 수 있는게 없겠습니다.

뭐가 어떻게 안된다는건지 정확히 모르겠습니다. 죄송합니다.

#14 변종원(웅파) 2020-10-13 11:05:59

요약하면 주소로는 에러가 나고 버튼클릭이나 엔터시엔 반응이 없다. 

-> 뷰단 문제. 어쨌거나 폼전송이 일어나지 않는 겁니다. 폼 전송이 됐다면 화면에 에러가 떠야 합니다.

차근차근 보세요.

#15 Austin 2020-10-13 11:30:25

@변종원 @배강민

답변 감사합니다! 한번 차근차근 해볼게요!