09009

[JSP] (8) 코드 수정본, onchange 본문

JSP/회원 관리
[JSP] (8) 코드 수정본, onchange
09009

✍member/ idcheck.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 관리</title>
<script type="text/javascript" src="script/member.js"></script>
</head>
<body>
 <h2>아이디 중복 확인</h2>
  <c:if test = "${result == 1}"> <!-- 서블릿에서 넘겨준 값이 1이면 이미 사용중인 아이디 -->
	${userid}는 이미 사용 중인 아이디입니다.  
	<input type="button" value="확인" class="cancel" onclick="idagain()">
  </c:if>
  <c:if test = "${result == -1}">
	${userid}는 사용 가능한 아이디입니다.
	<input type="button" value="사용" class="cancel" onclick="idok()">
  </c:if>
</body>
</html>

✍member.js

 function idagain() {
	 opener.frm.userid.value = "";
	 opener.frm.userid.focus();
	 self.close();
 }

회원 가입 폼에서 입력한 id가 이미 DB에 내장되어 있을 때 (이미 존재한 id일 경우)  입력한 id를 추가할 수 없다.

 

<확인> 버튼을 클릭하면 idagain() 함수를 호출하여

아이디 중복 확인의 결과를 알려주는 창이 닫혀진다.

그 이후, 회원 가입 폼에서 입력한 아이디의 칸이 비워지고

아이디 입력 칸에 focus가 가도록 한다.

아이디 중복 확인의 결과를 알려주는 창이 닫혀지고 회원 가입 폼의 아이디 입력 칸에 focus가 설정된다.

 

 


 

onchange  (변경 감지)

 사용자가 중복 체크를  수행한 후,  중복 체크를 하였던 아이디를 사용하지 않고

아이디를 다시 수정하여 그 수정한 아이디를 중복체크하지 않고 넘어가는 것을 방지하기 위해서는

아래와 같이 코드를 변경해야 한다.

 

member/ join.jsp

✍member.js

 function idReset() {
	 document.frm.reid.value="";
 }

자바스크립트에서 지정한 idReset() 함수는 회원 가입 폼에서 아이디 입력 칸에 중복 체크를 수행한 후

변경이 감지되었을 때 reid 값을 다시 비워주도록 설정한다.

 

reid 값이 채워져 있으면 중복 체크를 완료한 것으로 인식하여

나머지 값을 주어진 조건에 부합하도록 입력하였다는 가정하에

회원 가입이 정상적으로 진행될 것이다.

 

reid 값이 비워져 있으면 중복 체크를 하지 않은 상태로 인식하여

사용자에게 중복 체크 명령을 한다.

 

아이디 중복 체크를 완료한 상태
아이디 중복 체크를 완료한 상태에서 아이디를 수정한 후, <확인> 버튼을 클릭하였을 때

 

 

 

 

 

 

 

'JSP > 회원 관리' 카테고리의 다른 글

[JSP] (7) 회원 정보 변경  (0) 2023.04.16
[JSP] (6) 로그아웃  (0) 2023.04.16
[JSP] (5) 회원 가입 - 2  (0) 2023.04.15
[JSP] (4) 회원 가입 - 1  (1) 2023.04.15
[JSP] (3) 로그인 - 2  (0) 2023.04.15