Questions
352
2022-07-01 09:56:30 작성 2022-07-01 09:59:17 수정됨
4
519

검색창에 입력된 텍스트가 검색 한 것인지, 검색하지 않은 것인지 어떻게 판별해야 하나요?


안녕하세요. 게시판에서 검색어 입력 후 페이징 기능 또는 다른 필터 기능을 사용할 때, 검색 한 것인지, 검색하지 않은 것인지 판별할 수 있는 방법이 있을까요?



자세히 설명하자면 현재 

1. 검색창에 검색어를 입력하고, 검색버튼을 누른다. -> 검색한 결과로 필터링 된 결과가 출력 됩니다.


2. 검색 후 페이징 이동 및 다른 필터를 적용할 때, 검색어 + 페이지 이동 / 검색어 + 다른 필터 적용이 잘 되고 있습니다. -> 이를 위해, 페이징 이동 및 필터링 시 검색 keyword를 파라미터로 같이 넘겨줍니다.


3. 프로그램이 잘 동작하는 줄 알았지만, 우연히 검색 창에 검색어를 입력하고, 검색을 누르지 않았지만 페이지 이동, 필터링 기능을 동작 시키면 검색 keyword를 물고 가 문제가 발생합니다. -> 즉, 검색하지 않았기 때문에 검색 창에 text가 입력 돼 있어도 검색어 + 페이지 이동 / 검색어 + 필터가 동작해서는 안됩니다. 페이지 이동 / 필터만 동작해야 합니다. 원인은 필터, 페이지 이동 시 검색 창의 text를 파라미터로 넘겨줘서 그렇습니다. 


4. 검색 후 필터링이나 페이징 기능 사용 시 동시에 적용될 수 있도록 하기 위해서는 기존과 같이 검색 keyword를 파라미터로 넘겨줘야 한다고 생각합니다. 하지만 검색해서 검색 창에 검색어가 남아 있는 것인지, 검색어만 입력하고 다른 동작을 시킨 것인지 판단할 방법을 잘 모르겠습니다. 



구글링을 통해 정보를 찾아보려고 애썼지만 연관 내용을 찾을 수 없었습니다. 전자정부 프레임워크 문의 내용 중에 비슷한 내용을 하나 찾았지만 본인이 커스텀해서 사용해야 한다는 답변으로 문제 해결에 도움이 되지 않아 글을 작성하게 됐습니다. 해당 문제를 어떻게 해결해야 할 지 도움 부탁 드립니다. 추가로 검색 버튼을 눌렀을 때(검색을 했을 때), 검색창에 검색어만 입력됐을 때(검색을 안 했을 때)를 구별하는 것 말고 더 좋은 방법이 있다면 공유해주셔도 좋을 것 같습니다. 감사합니다.

0
  • 답변 4

  • 시인들
    2k
    2022-07-01 10:48:01

    페이지 이동과 검색 이벤트를 공통적인 호출만 빼고 다르게 처리 하셔연 가령 검색하면 페이지를 1로 초기화 검색어 찾기 등이 있겠공 페이징은 검색어를 찾는 로직이 없지만 저장된 변수에 있는 검색항목을 보고 있겠구연 ^^~~

  • dev_dtr
    236
    2022-07-01 11:06:09 작성 2022-07-01 13:45:24 수정됨

    시인들님 말대로
    페이지 이동과 검색 이벤트를 분리하시면 될 것 같습니다

    저같은 경우는 백에서 데이터 처리 후 검색 필터를 같이 return 해줍니다.


    검색 이벤트에서는 사용자가 입력한 검색 필터 값을 불러들여와 보내고,

    페이지 이동에서는 백에서 보낸 검색 필터를 그대로 사용합니다.

  • 다크 템플러
    918
    2022-07-01 13:30:06

    해당 내용은 프레임워크의 영역이라기보단 개발자가 어떻게 개발하느냐에 달린 문제같습니다.


    윗 분들이 정석적인 방법을 제시해주셨다면, 저는 약간 야매적인 방법으로 페이지 이동 시 text를 초기화시켜버리는 방법이 있을 것 같습니다.

  • kenu
    63k
    2022-07-06 15:10:10
    해당 게시물은 관리자에 의해 사는얘기에서 Tech Q&A로 이동 되었습니다.
  • 로그인을 하시면 답변을 등록할 수 있습니다.