Spring Framework

타임라인서비스) 메모 변경하기 - submitEdit 함수

na_o 2021. 7. 24. 15:13
728x90

현재 체크모양 버튼의 기능을 구현하고 있음! 수정한 내용을 담고있는 부분은 ${id}-textarea임!!

 

 

 

- val() :

input 태그에 정의된 value 속성의 값을 확인하고자 할 때 사용

 

- text() :

selector 태그 내에 존재하는 자식태그들 중에 html 태그는 모두 제외한 채 문자열만 가져올 때 사용

 

        function submitEdit(id) {
            // 1. 작성 대상 메모의 username과 contents 를 확인합니다.
            let username = $(`${id}-username`).text().trim();
            let contents = $(`${id}-textarea`).val().trim(); //${id}-contents가 아님!!
            // 2. 작성한 메모가 올바른지 isValidContents 함수를 통해 확인합니다.
            if(isValidContents(contents) == false) {
            	return ;
            }
            // 3. 전달할 data JSON으로 만듭니다.
            let data = {"username": username, "contents": contents};
            // 4. PUT /api/memos/{id} 에 data를 전달합니다.
            $.ajax({
            	type: "PUT",
                url: `/api/memos/${id}`,
                contentType: "application/json",
                data: JSON.stringify(data)
                success: function(response) {
                	alert("변경이 완료되었습니다.");
                    window.location.reload(); //새로고침
                }
            });
        }
        function isValidContents(contents) {
            if (contents == '') {
                alert('내용을 입력해주세요');
                return false;
            }
            if (contents.trim().length > 140) { //trim(): 앞뒤 공백 모두 제거
                alert('공백 포함 140자 이하로 입력해주세요');
                return false;
            }
            return true;
        }