728x90
PostMapping으로 값 전송하기
1. js에서 submit 하기
1-1) html에서 함수를 실행할 버튼 혹은 링크를 만든다.
<!-- html -->
<input type="password" id="unBPw" name="b_pw" class="input" placeholder="비밀번호 입력" maxlength="20"> <br>
<button type="button" class="crudBtn" th:onclick="unUD([[${bDto.b_num}]],'U')">수정</button>
<button type="button" class="crudBtn" th:onclick="unUD([[${bDto.b_num}]],'D')">삭제</button>
<a href="javascript:'함수명'('매개변수')">js링크</a> 이런 식으로 a 태그를 통해 js 함수 호출도 가능하다고 한다.
1-2) js에서 함수 생성
<!-- js -->
function unUD(num,UD){
let form = document.createElement('form'); // form 태그 생성
let input;
input = document.createElement('input'); // input 태그 생성
input.setAttribute('type', 'hidden'); // input 태그의 타입을 hidden으로 설정
input.setAttribute('name', 'b_num'); // input 태그의 name 설정
input.setAttribute('value', num); // input 태그의 값 설정
if(UD=="U"){
form.setAttribute('action', '/board/boardUpdate');
}else if(UD=="D"){
form.setAttribute('action', '/board/boardDelete');
}
form.appendChild(input); // input 태그를 form 태그 안에 종속
form.setAttribute('method', 'post'); // PostMapping
document.body.appendChild(form); // body에 form 태그 종속
form.submit(); // form submit
}
* 작업하던 것이라서 js 함수에서 비밀번호 확인하는 ajax도 있고 그랬는데 나중에 보면서 헷갈릴 것 같아서 제외했다.
2. html에서 submit 하기 (+ 버튼에 formaction 넣어서 url 다르게 보내기)
<form method="post">
<input type="hidden" th:value="${bDto.b_num}">
<button type="submit" class="crudBtn" formaction="/board/boardUpdate">수정</button>
<button type="submit" class="crudBtn" formaction="/board/boardDelete">삭제</button>
</form>
728x90
'프로그래밍 > 저장' 카테고리의 다른 글
sts4) 페이징 (0) | 2024.02.19 |
---|---|
sts4) 모달 (0) | 2024.02.19 |
STS4) 타임리프 편하게 사용하기 (0) | 2024.02.02 |
타임리프 반복문 th:each (0) | 2024.02.02 |