검색 부분 질문입니다 ㅠㅠ

20.04.14 11:02 작성 조회수 20

1

삭제된 글입니다

답변 1

답변을 작성해보세요.

0

검색 버튼을 눌렀을때 페이지 이동조차 하지 않는다면 아마 HTML 에서 자바스크립트 오류가 났을 확률이 큽니다. 항상 브라우저에서 F12키를 눌러서 개발자도구를 확인하는 습관을 들이시는게 좋습니다. F12키 > Console 탭에 오류가 표기될 수 있습니다.

그리고 자바스크립트에서 오류를 확인하는 방법중 하나는 로직 사이사이에 alert() 함수를 사용해서 로직이 어디로 빠지는지 확인하는 방법도 있습니다.

일단 위의 코드에서 function searchtest() 함수부터 제거하셔야 할듯 하며

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
    function search() {
        var v_search = document.getElementByID("search").value;
        alert(v_search);
        var v_keyword = document.getElementByID("keyword").value;
        alert(v_keyword);
        if(v_search == "" || v_keyword == ""){
        	alert("return false");
        	return false;
        } else {
        	alert("{{url_for('lists')}}");
            self.location.href = "{{url_for('lists')}}?search=" + v_search + "&keyword=" + v_keyword;
    	}
    }
    </script>

    <select name="search" id="search">
        <option value="">검색대상</option>
        <option value="0">제목</option>
        <option value="1">내용</option>
        <option value="2">제목+내용</option>
        <option value="3">작성자</option>
    </select>
    <input type="text" name="keyword" id="keyword">
    <input type="button" value="검색" onclick="search()"> <!--자바스크립트 제일 윗쪽 함수-->
</body>
</html>

위처럼 해보시고 테스트 해보시기 바랍니다. alert() 함수대신 console.log() 함수를 이용하기도 합니다. console.log() 는 F12키 눌러서 개발자도구 > Console 탭에서 확인할 수 있는 로그 입니다.