JSP AJAX¸¦ ÀÌ¿ëÇÑ ½Ç½Ã°£ ¾ÆÀ̵ð Áߺ¹È®ÀÎ
°¡ÀÔȸé
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==1 && 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==1 && 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¹Ú½ºµéÀ» ºñ¿ìµµ·Ï Çß½À´Ï´Ù.