JavaScript

[JavaScript] ์•„์ด๋”” ์ค‘๋ณต ํ™•์ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ

๋ฒผ๋ฆฌ01 2024. 1. 25. 08:54

 

 

<form method="post" action="./joinAction">


    <div class="form-group row">
    <label class="col-sm-2" for="uid">ID</label>
    <div class="col-sm-2" style="display:flex">
    <input class="form-control" type="text" id="id" name="id" required placeholder="์•„์ด๋””" oninput = "checkId()">
    </div>
    <div class="col-sm-3" id="id-alert" style="display:none; color:pink">์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ ์•„์ด๋””์ž…๋‹ˆ๋‹ค.</div>
    </div>

    <br>


    <div class="form-group row">
    <label class="col-sm-2" for="password">๋น„๋ฐ€๋ฒˆํ˜ธ  </label>
    <div class="col-sm-3">
    <input class="form-control" type="password" id="password" name="password" required placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ">
    </div>
    </div>


    <br>


    <div class="form-group row">
    <label class="col-sm-2" for="passwordCheck">๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ</label>
    <div class="col-sm-3" style="display:flex">
        <input class="form-control" type="password" id="passwordCheck" name="passwordCheck" required placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ" oninput="checkPassword()">
    </div>
    <div class="col-sm-3" id="password-alert-false" style="display:none; color:pink">๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</div>
    <div class="col-sm-3" id="password-alert-true" style="display:none; color:green">๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.</div>
    </div>
</form>

 

//	์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธํ•˜์ง€ ์•Š์œผ๋ฉด join ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™”	
	var idCheck = false;
	var passwordCheck = false;
	
//	์•„์ด๋”” ์ค‘๋ณต ์ฒดํฌ	
	function checkId(){
		var inputId = $('#id').val();
		$.ajax({
			
			data : { inputId : inputId },
			url : './checkId',
			type : 'post',
			success : function(data){
				if(data === '1'){	//	์•„์ด๋””๊ฐ€ ์ค‘๋ณต๋˜์—ˆ๋‹ค๋ฉด
					$('#id').css("background-color", "lightpink");
					$('#id-alert').css("display", "block");
					$('#id').focus();
					idCheck = false;
				}else {				//	์ค‘๋ณต์ด ์•„๋‹ˆ๋ผ๋ฉด
					$('#id-alert').css("display", "none");
					$('#id').css("background-color", "lightgreen");
					idCheck = true;
				}
				joinBtnControll();
			}
			
		})
	}
    
//	๋น„๋ฐ€๋ฒˆํ˜ธ - ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ ์ผ์น˜ ์ฒดํฌ
	function checkPassword() {
		var inputPassword = $('#password').val();
		var inputPasswordCheck = $('#passwordCheck').val();
		
		if(inputPassword !== inputPasswordCheck){	//	๋น„๋ฐ€๋ฒˆํ˜ธ-ํ™•์ธ์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด
			$('#password-alert-false').css("display", "block");
			$('#password-alert-true').css("display", "none");
			$('#passwordCheck').css("background-color", "lightpink");
			passwordCheck = false;
		}else{										//	๋น„๋ฐ€๋ฒˆํ˜ธ-ํ™•์ธ์ด ๊ฐ™์œผ๋ฉด
			$('#password-alert-false').css("display", "none");
			$('#password-alert-true').css("display", "block");
			$('#passwordCheck').css("background-color", "lightgreen");
			passwordCheck = true;
		}
			joinBtnControll();
		
	}
	
//	
	function joinBtnControll() {
//		์•„์ด๋”” ์ฒดํฌ ์™„๋ฃŒ
		if(idCheck && passwordCheck){
			document.getElementById("joinBtn").removeAttribute('disabled');
		}else{
			// ์—ฌ๊ธฐ์— join ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๊ตฌํ˜„
			document.getElementById("joinBtn").setAttribute('disabled', 'disabled');
		}
	}

 

 

 

์•„์ด๋””๊ฐ€ ์ค‘๋ณต์ด ์•„๋‹ˆ๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ/๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์ด ์ผ์น˜ํ•˜๋ฉด join ๋ฒ„ํŠผ ํ™œ์„ฑํ™”