<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 ๋ฒํผ ํ์ฑํ
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] Kakao Map API (0) | 2024.09.19 |
---|---|
[JavaScript] ๋ฐฐ์ด (0) | 2024.06.19 |
[JavaScript] axios.get ํ๋ผ๋ฏธํฐ๊ฐ ์ ์ก๋์ง ์์ (1) | 2024.03.29 |
[JavaScript] url ํ๋ผ๋ฏธํฐ ํ์ฉํ๊ธฐ (0) | 2024.03.29 |
[JavaScript] ๊ฐ์ ํด๋์ค๋ฅผ ๊ฐ์ง ๋ฒํผ ํ๋ฒ์ eventListener ์ค์ ํ๊ธฐ (0) | 2024.03.21 |