- 5
- 260578
- 조회 수 446
(여태까지 했던건 다 날아갔습니다... 저장 안 누르고 내용을 싹 다 날려버렸어요)
<p>아이디: <input maxlength="12" type="text" id="idid" name="id"></p> <button type="button" onclick=" ">중복 확인</button> <span id="check" style="color: gray; font-size: 0.8em">아이디 중복 확인이 필요합니다.</span> <input type="hidden" name="isChecked" value="no">
버튼을 누르면 'idid'에 입력된 내용을 불러와서 DB에 있는 id와 매칭해서 'check'에 있는 텍스트를 "아이디 중복확인이 완료되었습니다."로 바뀌게 하고, "isChecked"의 내용을 yes로 바꾸고 싶습니다..
그런데 제가 자바스크립트를 아직 배우지 못해서 구글링 해봐도 적용할 방법을 못 찾더겠군요
6시간동안 머리싸매고 검색하고 붙여넣다 질문글 올려봅니다
작성자
댓글 5
감사합니다!
저도 PHP, Javascript(jQuery), MySQL에 대해 쌩초보이고, ajax에 대해 제대로 이해하지 못하지만 용기를 내어 적어봅니다 ^^
일단 humit 님 말씀을 듣고 생각나는대로 작성하고 아직 테스트해보지 못해서 제대로 작동할 가능성은 없지만,
스포어의 고수님들께서 완성해주실 것으로 믿습니다 :)
일단 HTML에서 회원가입 form과 button은 완성하신 것 같군요~!
jquery를 불러오는 부분과 DB 처리와 관련된 부분은 일부 생략하겠습니다.
우선 form에서 받은 데이터를 ajax로 넘겨주는 부분입니다.
<script> function checkID(){ $.ajax({ url: '/idcheck.php', type: 'POST', data: {'id' : $('#idid').val()}, dataType: 'html', success: function(data){ alert(data); } }); } </script>
받아온 값으로 DB에서 중복된 아이디가 있는지 확인하는 부분(idcheck.php)입니다.
<?php $userid=$_POST['id']; $conn = mysql_connect(생략); $sql= " select count(*) from member where mb_id='$userid' "; $result=mysql_query($sql, $conn); $idexists=mysql_fetch_array($result); mysql_close($conn); $confirm=1; ?>
confirm 변수값을 받아서 isChecked의 value 값을 yes로 변경하고, #check의 텍스트도 변경해줍니다.
<script> var confirm="<?= $confirm?>"; if(confirm==1){ $("input[name=isChecked]").val('yes'); $("#check").html("아이디 중복확인이 완료되었습니다."); } </scpript>
마지막으로 idexists 변수값을 받아와서 중복 여부에 대해 유저에게 알려줍니다.
<script> var check="<?= $idexists[0]?>"; if(check==1){ alert("이미 사용중인 아이디입니다."); } </script>
생각해보니 input 태그에 oninput을 넣어서 함수를 실행시켜야 할 것 같네요.
급하게 작성해서 틀린 부분도 많고 스포어의 고수님들께서 보시기에 우스꽝스러운 수준이지만 조금이나마 도움이 되셨으면 좋겠습니다~!
그럼 좋은 주말 되세요 ^^
감사합니다..
도움이 되셨으면 좋겠네요~!
생각해보니 그누보드 같은 CMS의 소스를 뜯어보시면 관련된 소스를 찾으실 수 있을 것 같네요 ^^
모바일이라서 자세히 쓰기가 어려워 개락적인 방법을 알려드리겠습니다.
아이디를 입력받아서 중복을 체크할 수 있는 페이지를 만든 다음 XmlHttpRequest 로 해당 페이지에 요쳥을 보내서 받아온 응답으로 요소를 조작해주시면 됩니다.