JSP/SERVLET
2022.06.05 / 23:42

JSP AJAX¸¦ ÀÌ¿ëÇÑ ½Ç½Ã°£ ¾ÆÀ̵ð Áߺ¹È®ÀÎ

ŹÃÄ
Ãßõ ¼ö 153

°¡ÀÔÈ­¸é



ID ÀԷ½à ½Ç½Ã°£À¸·Î Áߺ¹È®ÀÎÀ» ¼öÇàÇØ °¡ÀÔ °¡´ÉÇÑ ¾ÆÀ̵ðÀÏ °æ¿ì ÃÊ·Ï»ö ¹ÙÅÁÀ¸·Î ³ªÅ¸³»°í °ø¹éÀ̰ųª ÀÌ¹Ì »ç¿ëÁßÀÎ ¾ÆÀ̵ðÀÏ °æ¿ì ºÓÀº ¹ÙÅÁÀ¸·Î Ç¥½ÃÇÕ´Ï´Ù.

bb¶ó´Â ¾ÆÀ̵ð´Â ÀÌ¹Ì °¡ÀÔµÈ ¾ÆÀ̵ðÀ̹ǷΠbbÀ϶§´Â ºÓÀº ¹ÙÅÁÀ» ³ªÅ¸³ª°Ô ÇÕ´Ï´Ù.

Password ¶ÇÇÑ Æнº¿öµåÈ®Àο¡ ÀÔ·ÂµÈ ³»¿ë°ú Æнº¿öµå°¡ ´Ù¸¦ °æ¿ì ºÓÀº¹ÙÅÁÀ¸·Î Ç¥½ÃÇÕ´Ï´Ù.

¾ÆÀ̵ð, Æнº¿öµå¿¡ ÀÌ»óÀÌ ¾ø°í ´Ð³×ÀÓ°ú À̸ÞÀÏÀ» Æ÷ÇÔÇÑ ¸ðµç ³»¿ëÀÌ ÀԷµǾúÀ» °æ¿ì Sign Up ¹öÆ°À» È°¼ºÈ­ ÇØ °¡ÀÔÀ» Çã¿ëÇÕ´Ï´Ù.


1
2
3
4
5
6
<select id="checkId"
    parameterType="project.jyland.member.model.JYUser"
    resultType="java.lang.Integer">
    SELECT NVL(COUNT(*),0)
    FROM JYUSER WHERE ID=#{id}
</select>
cs


IDÁߺ¹ È®ÀÎÀ» À§ÇÑ sql¹®À» ÀÛ¼ºÇß½À´Ï´Ù.



1
2
3
4
@RequestMapping(value = "checkId.jy", method = { RequestMethod.GET, RequestMethod.POST})
    public @ResponseBody int idCheck(JYUser user, Model model) {
        return jYUserService.checkId(user);
    }//
cs


ÄÁÆ®·Ñ·¯ÀÔ´Ï´Ù.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<label><b>ID</b></label>
            <input type="text" placeholder="Enter ID"
                    name="id" required class="id" oninput="checkId()" id="checkaa"
<label><b>Nickname</b></label>
            <input type="text" placeholder="Enter Nickname" name="nickname"
                    required class="id" id="nickname" oninput="checkId()"
<label><b>Email</b></label
            <input    type="text" placeholder="Enter Email" name="email" required    
                class="id" id="email" oninput="checkId()"
<label> <b>Password</b></label
            <input    type="password" placeholder="Enter Password" name="upwd" 
                required class="pass" oninput="checkPwd()">
<label> <b>Repeat Password</b></label
            <input type="password"    placeholder="Repeat Password" name="psw-repeat" 
                required class="pass" id="repwd" oninput="checkPwd()"
            <input    type="checkbox" checked="checked"> Remember me
        <div class="clearfix">
            <button type="button" class="cancelbtn" 
                onclick='$("#_joinsung").css("display", "none")' >Cancel</button>
            <button type="submit" class="signupbtn" disabled="disabled">Sign Up</button>
cs


ȸ¿ø°¡ÀÔ Ã¢ÀÇ html±¸Á¶ÀÔ´Ï´Ù.

ID¸¦ ÀÔ·ÂÇÒ input ÅÂ±× ¾È¿¡´Â oninputÀ» ´Þ¾Æ ÀÔ·ÂÀ» ÇÒ ¶§¸¶´Ù checkId() ¸Þ¼Òµå°¡ ¼öÇàµÇ°Ô ÇÕ´Ï´Ù.

PW¸¦ ÀÔ·ÂÇÏ´Â input¿¡µµ oninputÀ¸·Î checkPwd()¸Þ¼Òµå¸¦ ¼öÇàµÇ°Ô ÇÕ´Ï´Ù.

Sign up ¹öÆ°Àº ±âº»ÀûÀ¸·Î ºñÈ°¼ºÈ­ÇÕ´Ï´Ù. ¸ðµç Á¶°ÇÀÌ ¸¸Á·µÇ¸é È°¼ºÈ­µÇµµ·Ï ÇÒ °Í ÀÔ´Ï´Ù.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script>
 
//     ¾ÆÀ̵ð¿Í ºñ¹Ð¹øÈ£°¡ ¸ÂÁö ¾ÊÀ» °æ¿ì °¡ÀÔ¹öÆ° ºñÈ°¼ºÈ­¸¦ À§ÇÑ º¯¼ö¼³Á¤
    var idCheck = 0;
    var pwdCheck = 0;
    //¾ÆÀ̵ð Ã¼Å©ÇÏ¿© °¡ÀÔ¹öÆ° ºñÈ°¼ºÈ­, Áߺ¹È®ÀÎ.
    function checkId() {
        var inputed = $('.id').val();
        $.ajax({
            data : {
                id : inputed
            },
            url : "checkId.jy",
            success : function(data) {
                if(inputed=="" && data=='0') {
                    $(".signupbtn").prop("disabled"true);
                    $(".signupbtn").css("background-color""#aaaaaa");
                    $("#checkaa").css("background-color""#FFCECE");
                    idCheck = 0;
                } else if (data == '0') {
                    $("#checkaa").css("background-color""#B0F6AC");
                    idCheck = 1;
                    if(idCheck==&& pwdCheck == 1) {
                        $(".signupbtn").prop("disabled"false);
                        $(".signupbtn").css("background-color""#4CAF50");
                        signupCheck();
                    } 
                } else if (data == '1') {
                    $(".signupbtn").prop("disabled"true);
                    $(".signupbtn").css("background-color""#aaaaaa");
                    $("#checkaa").css("background-color""#FFCECE");
                    idCheck = 0;
                } 
            }
        });
    }
cs


checkId(), ID Áߺ¹È®ÀÎÀ» À§ÇÑ ¸Þ¼ÒµåÀÔ´Ï´Ù. input¹Ú½º¿¡ oninput="checkId()"¸¦ ´Þ¾Æ ³õ¾Ò±â ??¹®¿¡ ÀÔ·ÂÇÒ ¶§ ¸¶´Ù ÀÌ ¸Þ¼Òµå°¡ ¼öÇàµË´Ï´Ù.

ajax¸¦ ÀÌ¿ëÇؼ­ ¼­¹ö¿¡ ¾ÆÀ̵ð Áߺ¹ È®ÀÎÀ» À§ÇÑ µ¥ÀÌÅ͸¦ ¿äûÇÕ´Ï´Ù.

¾ÆÀ̵𰡠Áߺ¹µÇ¾úÀ» °æ¿ì data´Â 0À¸·Î Ãâ·ÂµÇ¸ç Áߺ¹µÇÁö ¾Ê¾ÒÀ» ¶§ 1·Î Ãâ·ÂµË´Ï´Ù.

Á¶°Ç¹®À» ¾Ë¸Â°Ô »ç¿ëÇؼ­ µÞ ¹è°æÀ» ÃÊ·Ï»öÀ̳ª ºÓÀº»öÀ¸·Î Ãâ·ÂÇÏ°Ô Çß½À´Ï´Ù.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//ÀçÀԷ ºñ¹Ð¹øÈ£ Ã¼Å©ÇÏ¿© °¡ÀÔ¹öÆ° ºñÈ°¼ºÈ­ ¶Ç´Â ¸ÂÁö¾ÊÀ½À» ¾Ë¸².
    function checkPwd() {
        var inputed = $('.pass').val();
        var reinputed = $('#repwd').val();
        if(reinputed=="" && (inputed != reinputed || inputed == reinputed)){
            $(".signupbtn").prop("disabled"true);
            $(".signupbtn").css("background-color""#aaaaaa");
            $("#repwd").css("background-color""#FFCECE");
        }
        else if (inputed == reinputed) {
            $("#repwd").css("background-color""#B0F6AC");
            pwdCheck = 1;
            if(idCheck==&& pwdCheck == 1) {
                $(".signupbtn").prop("disabled"false);
                $(".signupbtn").css("background-color""#4CAF50");
                signupCheck();
            }
        } else if (inputed != reinputed) {
            pwdCheck = 0;
            $(".signupbtn").prop("disabled"true);
            $(".signupbtn").css("background-color""#aaaaaa");
            $("#repwd").css("background-color""#FFCECE");
            
        }
    }
    //´Ð³×ÀÓ°ú À̸ÞÀÏ ÀÔ·ÂÇÏÁö ¾Ê¾ÒÀ» °æ¿ì °¡ÀÔ¹öÆ° ºñÈ°¼ºÈ­
    function signupCheck() {
        var nickname = $("#nickname").val();
        var email = $("#email").val();
        if(nickname=="" || email=="") {
            $(".signupbtn").prop("disabled"true);
            $(".signupbtn").css("background-color""#aaaaaa");
        } else {
        }
    }
    //ĵ½½¹öÆ° ´­·¶À» ´­·¶À»½Ã ÀÎDz¹Ú½º Å¬¸®¾î
    $(".cancelbtn").click(function(){
            $(".id").val(null);
            $(".pass").val('');
            $(".signupbtn").prop("disabled"true);
            $(".signupbtn").css("background-color""#aaaaaa");
    });
</script>
cs


Æнº¿öµå üũ, ´Ð³×ÀÓ°ú À̸ÞÀÏÀ» ÀÔ·Â ¹Þµµ·Ï °­Á¦ÇÏ´Â ¸Þ¼ÒµåµéÀ» ÀÛ¼ºÇØÁÝ´Ï´Ù.

¸ðµÎ Á¶°Ç¿¡ ¸ÂÀ» °æ¿ì Sign Up ¹öÆ°ÀÌ ÃÊ·Ï»öÀ¸·Î ³ªÅ¸³ª°Ô µÇ±¸¿ä.

ĵ½½ ¹öÆ°À¸·Î âÀ» ²¯À»¶§ input¹Ú½º¿¡ ÀÔ·ÂÇß´ø ³»¿ëµéÀÌ ³²°ÔµÇ¾î ĵ½½¹öÆ°À» ´­·¶À» ¶§ input¹Ú½ºµéÀ» ºñ¿ìµµ·Ï Çß½À´Ï´Ù.