join.html 6.19 KB
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      layout:decorate="~{layout/oneDoc_layout}">

    <!-- index.html 고유 CSS 추가 -->
    <th:block layout:fragment="css">
        <style>
            body {
                min-height: 100vh;
                background: -webkit-gradient(linear, left bottom, right top, from(#92b5db), to(#1d466c));
                background: -webkit-linear-gradient(bottom left, #92b5db 0%, #1d466c 100%);
                background: -moz-linear-gradient(bottom left, #92b5db 0%, #1d466c 100%);
                background: -o-linear-gradient(bottom left, #92b5db 0%, #1d466c 100%);
                background: linear-gradient(to top right, #92b5db 0%, #1d466c 100%);
            }
            .input-form {
                max-width: 680px;
                margin-top: 80px;
                padding: 32px;
                background: #fff;
                -webkit-border-radius: 10px;
                -moz-border-radius: 10px;
                border-radius: 10px;
                -webkit-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.15);
                -moz-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.15);
                box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.15);
            }
        </style>
    </th:block>
    
    <!-- index.html 고유 스크립트 추가 -->
    <th:block layout:fragment="script">
		<script type="text/javascript">
		 
		    $(document).ready(function(){    

		    	$("#btnJoin").click(function(e) {
	            	var form = $(".validation-form");
	            	if (form[0].checkValidity() === false)
	                {
	                    event.preventDefault();
	                    event.stopPropagation();
	                } else {
		                procJoin();
		            }
	                form.addClass('was-validated');

					return false;
	            });     
	                      
		    });        
		    
		 
		    /** 게시판 - 목록 조회  */
		    function procJoin(){

		    	var pss1 = $("#joinPass1").val();
		    	var pss2 = $("#joinPass2").val();
		    	
		    	if (pss1 != pss2) {
		    		showAlert("Error", "패스워드와 패스워드 확인이 일치하지 않습니다");
	            	return false;            
			    }

		    	$.ajax({    		        
		            url      : "[[@{/}]]join_proc",
		            data     : $(".validation-form").serialize(),
		            dataType : "JSON",
		            cache    : false,
		            async    : true,
		            type     : "POST",    
		            success  : function(result) {
		            	showAlert("Success", "등록이 완료되었습니다. 로그인페이지로 이동합니다");
		            	location.href = "[[@{/}]]";            
		            },           
		            error     : function(xhr, status, error) {
		            	showAlert(status, msg);            
			        }		            
		         });
		    }

		    function showAlert(pStatus, pMsg){
				alert("[" + pStatus + "]:" + pMsg);		    	
		    }
		    
		</script>
    </th:block>

    <th:block layout:fragment="content">
        <div class="container">
            <div class="input-form-backgroud row">
                <div class="input-form col-md-12 mx-auto">
                    <h4 class="mb-3">사용자 등록</h4>
                    <form class="validation-form" novalidate>
                        <div class="row">
                            <div class="col-md-6 mb-3">
                                <label for="name">이름</label>
                                <input type="text" class="form-control" id="name" name="name" placeholder="" value="" required />
                                <div class="invalid-feedback">이름을 입력해주세요.</div>
                            </div>
                            <div class="col-md-6 mb-3">
                                <label for="nickname">별명</label>
                                <input type="text" class="form-control" id="nickname" name="nickname" placeholder="" value="" required />
                                <div class="invalid-feedback">별명을 입력해주세요.</div>
                            </div>
                        </div>
                        <div class="mb-3">
                            <label for="email">이메일</label>
                            <input type="email" class="form-control" id="email" name="email" placeholder="you@example.com" required />
                            <div class="invalid-feedback">이메일을 입력해주세요.</div>
                        </div>
                        <div class="row">
                            <div class="col-md-6 mb-3">
                                <label for="joinPass1">암호</label>
                                <input type="password" class="form-control" id="joinPass1" name="joinPass" placeholder="" value="" required />
                                <div class="invalid-feedback">암호를 입력해주세요.</div>
                            </div>
                            <div class="col-md-6 mb-3">
                                <label for="joinPass2">암호 확인</label>
                                <input type="password" class="form-control" id="joinPass2" placeholder="" value="" required />
                                <div class="invalid-feedback">암호확인을 입력해주세요.</div>
                            </div>
                        </div>
                        <hr class="mb-4" />
                        <div class="custom-control custom-checkbox">
                            <input type="checkbox" class="custom-control-input" id="aggrement" required />
                            <label class="custom-control-label" for="aggrement">개인정보 수집 및 이용에 동의합니다.</label>
                        </div>
                        <div class="mb-4" />
                        <button class="form-control btn btn-primary btn-lg btn-block" id="btnJoin">가입 완료</button>
                    </form>
                </div>
            </div>
		</div>

    </th:block>
</html>