세부정리

modify, get 버튼 변경
<!-- get.jsp -->

<button type="button" id="btn-modify" class="btn btn-primary">Modify</button>
<button type="button" id="btn-list" class="btn btn-primary">List</button>

<!-- modify.jsp -->

<button type="submit" class="btn btn-primary">Modify</button>
<button type="button" id="btn-remove" class="btn btn-danger">Remove</button>
<button type="button" id="btn-list" class="btn btn-primary">List</button>

modify 자바스크립트 수정

jquery 가져오고

자바스크립트 수정

<script>
    $(document).ready(function(){

        //전역변수
        let formObj = $('#modifyForm');

        $("#btn-remove").on("click", function(){

            // console.log("click");

            if(!confirm("게시물을 삭제하겠습니까?")) return;

            formObj.attr("action", "/board/remove");
            formObj.submit();
        });
    });
    
</script>

컨트롤러 변경

/remove를 PostMapping로 변경하고 파라미터 Criteria cri를 추가한다

@PostMapping("/remove")
public String remove(@RequestParam("bno") Long bno, Criteria cri) {

    log.info("삭제할 글번호 : " + bno);

    service.remove(bno);

    return "redirect:/board/list" + cri.getListLink();
}


리스트 버튼 동작작업

get.jsp파일에서 list버튼을 누르면 list 목록으로 다시 이동하도록 하기

get.jsp에 있는 글번호 bno 빼고 다른정보를 가져와서 넣는다

form의 id를 가져와서 필요 없는 정보를 제거하고 주소를 변경해서 submit();를 해준다

<script>

    $(document).ready(function(){

        let operForm = $("#operForm")

        // 수정버튼 클릭시 동작구문 <button type="button" id="btn_modify" class="btn btn-primary">Modify</button>
        $("#btn-modify").on("click", function(){
            // console.log("수정버튼 클릭"); // 나오는지 console에서 확인
            // 수정폼 주소
            // let bno = $("#bno").val(); // 입력망식 태그의 값을 
            // location.href = "modify?bno=" + bno;

            operForm.submit();

        });

        // 제거버튼 클릭시 동작구문
        $("#btn-remove").on("click", function(){
            // console.log("제거버튼 클릭");
            // 제거주소
            let bno = $("#bno").val();
            if(!confirm(bno + "번 글을 삭제하겠습니까?")) return;

            location.href = "remove?bno=" + bno;
        });

        // 목록버튼 클릭시 동작구문
        $("#btn-list").on("click", function(){
            // console.log("click");

            operForm.find("input[name='bno']").remove();
            operForm.attr("action", "/board/list");

            operForm.submit();

        });

    });

</script>

modify에 있는 list 버튼도 작업
<script>
    $(document).ready(function(){

        //전역변수
        let formObj = $('#modifyForm');

        $("#btn-remove").on("click", function(){

            // console.log("click");

            if(!confirm("게시물을 삭제하겠습니까?")) return;

            formObj.attr("action", "/board/remove");
            formObj.submit();

        });

        // 목록작업 변경
        $("#btn-list").on("click", function(){
            // console.log("click");

            // 페이징, 검색 필드정보
            let pageNumTag = $("input[name='pageNum']").clone();
            let amountTag = $("input[name='amount']").clone();
            let typeTag = $("input[name='type']").clone();
            let keywordTag = $("input[name='keyword']").clone();

            formObj.empty();

            formObj.append("pageNum");
            formObj.append("amount");
            formObj.append("type");
            formObj.append("keyword");

            formObj.attr("action", "/board/list");
            formObj.attr("method", "get");
            formObj.submit();
        });

    });
</script>

검색 버튼 활성화 시 1페이지로 넘어가서 검색하도록 작업

list 자바스크립트 추가

하지만, UI에서 다른 버튼이 활성화가 안되는 문제가 생겼다

<script>
    $("#searchForm").on("submit", function(){
    // console.log("click");

    actionForm.find("input[value='${pageMaker.cri.pageNum }]'").attr("value", "${pageMaker.cri.pageNum = 1}");

    // actionForm.submit();
    });
</script>

댓글남기기