[타임리프 에러 로그] cannot create a session / [HTML/JS 에러] is not a function at HTMLInputElement.onblur

jyleever·2022년 5월 11일
0

Helpring 에러 로그

목록 보기
9/12
post-custom-banner

타임리프 session 에러

cannot create a session after the response has been committed
  • form을 전송했을 때 연결된 컨트롤러인 /join/Proc 컨트롤러에서 받는 파라미터에 @ModelAttribute 를 추가하지 않아서였다.

해결

    @PostMapping("/auth/joinProc")
    public String joinProc(@ModelAttribute @Valid MemberDto.RequestDto memberDto, BindingResult bindingResult, Model model) {

[HTML/JS] 함수 에러

is not a function at HTMLInputElement.onblur

해결

<div class="input-group input-group-static mb-4">
	<label th:for="chkPassword">비밀번호 확인</label>
	<input class="form-control" type="password" th:id="chkPassword"
	placeholder="비밀번호" onblur="checkPassword()">
	<span id="passwordResult"></span>
</div>
  • 함수
<script>
    /** 비밀번호 확인 **/
    function checkPassword(){
        const password = $('#chkPassword').val();
        const chkPassword = $('#password').val();
        const passwordResult = document.querySelector('#passwordResult');

        if(password == chkPassword){
            if(password == ""){
                passwordResult.style.color = 'red';
                passwordResult.innerHTML = '비밀번호를 입력해주세요.'
            } else {
                passwordResult.style.color = 'green';
                passwordResult.innerHTML = '비밀번호가 일치합니다.'
            }
        } else {
            passwordResult.style.color = 'red';
            passwordResult.innerHTML = '비밀번호가 일치하지 않습니다.'
        }
    }
</script>

id 값과 함수명을 동일하게 설정해서 만든 에러였다.
id값과 함수명을 다르게 설정해주었다.

post-custom-banner

0개의 댓글