1.  회원가입 양식

html 코드
    <h3>회원가입</h3>
    <form action="form01_process.jsp" name="member" method="post">
        <p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복검사"></p>
        <p> 비밀번호 : <input type="password" name="passwd"></p>
        <p> 이름 : <input type="text" name="name"></p>
        <p> 연락처 : <select name="phone1">
            <option value="010">010</option>
            <option value="011">011</option>
            <option value="016">016</option>
            <option value="017">017</option>
            <option value="019">019</option>
        </select> - <input type="text" maxlength="4" size="4" name="phone2"> -
            <input type="text" maxlength="4" size="4" name="phone3"></p>
        <p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
            <input type="radio" name="sex" value="여성">여성</p>
        <p> 취미 : 독서 <input type="checkbox" name="hobby" value="독서" checked>
            운동<input type="checkbox" name="hobby" value="운동">
            영화<input type="checkbox" name="hobby" value="영화"></p>

        <p> 주소 : <input name="zipcode" id="zipcode" size="10" maxlength="7" readonly>
            <input type="button" value="우편번호 검색" id="address"><br />
            <input name="address01" id="address01" size="70" maxlength="70" readonly>
            <input name="address02" id="address02" size="70" maxlength="70"> </p>

        <p> <textarea name="comment" cols="30" rows="3" placeholder="가입인사를 입력해주세요"></textarea></p>
        <p> <input type="submit" value="가입하기">
            <input type="reset" value="다시쓰기"></p>
    </form>

 

자바스크립트 코드
       /*
        카카오 우편번호 검색 가이드 페이지 :  https://postcode.map.daum.net/guide
        getElementById() : html 에서 매개변수로 받은 id 값이 있는 요소를 반환.
        */
        function execDaumPostcode() {
            new daum.Postcode({
                oncomplete: function(data) {
                    // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.

                    // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                    // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                    var fullAddr = ''; // 최종 주소 변수
                    var extraAddr = ''; // 조합형 주소 변수

                    // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
                    if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
                        fullAddr = data.roadAddress;
                    }
                    else { // 사용자가 지번 주소를 선택했을 경우(J)
                        fullAddr = data.jibunAddress;
                    }

                    // 사용자가 선택한 주소가 도로명 타입일때 조합한다.
                    if(data.userSelectedType === 'R'){
                        //법정동명이 있을 경우 추가한다.
                        if(data.bname !== ''){
                            extraAddr += data.bname;
                        }
                        // 건물명이 있을 경우 추가한다.
                        if(data.buildingName !== ''){
                            extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                        }
                        // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
                        fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
                    }

                    // 우편번호와 주소 정보를 해당 필드에 넣는다.
                    document.querySelector('input[name=zipcode]').value = data.zonecode; //5자리 새우편번호 사용
                    document.querySelector('input[name=address01]').value = fullAddr;

                    // 커서를 상세주소 필드로 이동한다.
                    document.querySelector('input[name=address02]').focus();
                }
            }).open();
        }

        document.addEventListener("DOMContentLoaded", function () {
            const addrBtn = document.querySelector('input[id=address]');
            addrBtn.addEventListener('click', execDaumPostcode);
        });

 

JSP 코드
    <%
        request.setCharacterEncoding("utf-8");
        String userid = request.getParameter("id");
        String password = request.getParameter("passwd");
        String name = request.getParameter("name");
        String phone = request.getParameter("phone1");
        String sex = request.getParameter("sex");
        String[] hobby = request.getParameterValues("hobby");
        String comment = request.getParameter("comment");
    %>
    <p> 아이디 : <%=userid%>
    <p> 비밀번호 : <%=password%>
    <p> 이름 : <%=name%>
    <p> 연락처 : <%=phone%>
    <p> 성별 : <%=sex%>
    <p> 취미 : <%
        if (hobby != null) {
            for(String s: hobby) {
                out.println(" " + s);
            }
        }
        %>
    <p> 가입인사 : <%=comment%>

 


2.  유효성 검사

회원가입시 아이디와 비밀번호를 입력하지 않을 시 + 비밀번호에 아이디가 포함된 경우 경고창 띄우기

html 코드
<body>
    <h3>회원가입</h3>
    <form action="validation_process.jsp" name="member" method="post">
        <p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복검사"></p>
        <p> 비밀번호 : <input type="password" name="passwd"></p>

        <p> <input type="submit" value="가입하기"> </p>
    </form>
</body>

 

javascript 코드
<script>
    document.addEventListener("DOMContentLoaded", function() {
       const id = document.querySelector("input[name=id]");
       const pwd = document.querySelector("input[name=passwd]");
       const submitBtn = document.querySelector('input[value="가입하기"]');

       submitBtn.addEventListener('click', function(event) {
           if (id.value.trim() === "") {
               alert('아이디를 입력해 주세요.');
               event.preventDefault(); // Prevent form submission
               id.focus();
           } else if (pwd.value.trim() === "") {
               alert('비밀번호를 입력해 주세요.');
               event.preventDefault(); // Prevent form submission
               pwd.focus();
           } else if (pwd.value.indexOf(id.value) !== -1) {
               alert('비밀번호는 아이디를 포함할 수 없습니다.');
               event.preventDefault(); // Prevent form submission
               pwd.focus();
           }
       });

    });
</script>

 

JSP 코드
<body>
    <%
        request.setCharacterEncoding("utf-8");
        String userid = request.getParameter("id");
        String password = request.getParameter("passwd");
    %>
       <p> 아이디 : <%=userid%>
       <p> 비밀번호 : <%=password%>

</body>

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]

'JSP' 카테고리의 다른 글

[JSP] 쿠키 Cookie 와 세션 Session  (0) 2024.04.20
[JSP] 내장객체 - response, out  (0) 2024.04.17
[JSP] 내장 객체 - request  (0) 2024.04.17
[JSP] 디렉티브 태그 - include, taglib  (0) 2024.04.16
[JSP] 디렉티브 태그 - page tag  (0) 2024.04.16

+ Recent posts