중복확인을 일일이 짜는게 귀찮아서... 아래처럼 해버렸네요 ㅎㅎㅎ
날이 갈수록 꼼수만 늘어 가는 것 같습니다.
ps. 그 누구에게 도움이 되시기를 ㅎㅎ (참고로 디자인 들어가기 전 사전작업 파일 입니다.)
[code]
| <form action="http://example.com/xe/module/app_join/join.php" method="post" onsubmit="return JoinCheck();"> | |
| 이름<input type="text" name="name" required><br> | |
| 휴대번호<input type="text" name="phone" id="phone" required class="telnum"> | |
| <a href="#" class="duplication" ac-type="phone" ac-target="#phone" ac-output="#phone_val" ac-name="휴대번호" class="btn30">중복확인</a> | |
| <span id="phone_val"></span> | |
| <br> | |
| 이메일<input type="text" name="email" class="email" required> | |
| <a href="#" class="duplication" ac-type="email" ac-target=".email" ac-output="#email_val" ac-name="이메일" class="btn30">중복확인</a> | |
| <span id="email_val"></span><br> | |
| 비밀번호<input type="password" name="password" required><br> | |
| 비밀번호 확인<input type="password" name="password_re" id="password_re" required> | |
| <span></span><br> | |
| <input type="submit" value="전송"> | |
| </form> | |
| <script type="text/javascript"> | |
| $(function() { | |
| window.duplicationValue = []; | |
| window.duplicationIndex = []; | |
| var i = 0; | |
| $('.duplication').each(function() { | |
| var type = $(this).attr('ac-type'); | |
| var name = $(this).attr('ac-name'); | |
| var arr = []; | |
| arr['type'] = type; | |
| arr['name'] = name; | |
| // array push | |
| window.duplicationValue.push(arr); | |
| // 인덱스 값 기록 | |
| window.duplicationIndex[type] = i; | |
| i++; | |
| }); | |
| $('.duplication').on('click', function(e) { | |
| e.preventDefault(); | |
| var type = $(this).attr('ac-type'); | |
| var name = $(this).attr('ac-name'); | |
| var target = $(this).attr('ac-target'); | |
| var output = $(this).attr('ac-output'); | |
| var index = window.duplicationIndex[type]; | |
| // 입력값 확인 | |
| if(!$(target).val()) { | |
| alert(name+'(을)를 입력하여주세요.'); | |
| $(target).focus(); | |
| return false; | |
| } | |
| // 중복확인 | |
| new AjaxTB(output, 'http://example.com/xe/module/app_join/ajax/duplication.check.php', '?type='+type+'&val='+$(target).val()).Sender(); | |
| window.duplicationValue[index]['val'] = $(target).val(); | |
| window.duplicationValue[index]['target'] = target; | |
| window.duplicationValue[index]['duplication'] = $('#duplication_'+type).val(); | |
| }); | |
| }); | |
| // submit 검사 | |
| function JoinCheck() { | |
| var msg; | |
| // 유효성 검사 | |
| for(var i=0; i<window.duplicationValue.length; i++) { | |
| if(window.duplicationValue[i]['duplication'] == 1) { | |
| var duplication = window.duplicationValue[i]['duplication']; | |
| var target = window.duplicationValue[i]['target']; | |
| var type = window.duplicationValue[i]['type']; | |
| var name = window.duplicationValue[i]['name']; | |
| var val = window.duplicationValue[i]['val']; | |
| msg = val+'(은)는 다른 사용자께서 사용중입니다.'; | |
| break; | |
| } | |
| } | |
| // 비밀번호 유효성 검사 | |
| if($('input[name=password]').val() != $('input[name=password_re]').val() && !msg) { | |
| msg = '비밀번화 확인이 일치 하지 않습니다.'; | |
| target = '#password_re'; | |
| } | |
| // 에러 메시지가 있다면 return 하지 않고 메시지를 보여줌 | |
| if(msg) { | |
| alert(msg); | |
| $(target).focus(); | |
| return false; | |
| } | |
| } | |
| </script> |
[/code]
댓글 2개
게시글 목록
| 번호 | 제목 |
|---|---|
| 28213 | |
| 31006 |
CSS
css가 충돌이 됬을때
4
|
| 7898 | |
| 7897 | |
| 19935 |
JavaScript
풀스크린 스크립트
|
| 7892 | |
| 7885 | |
| 31005 | |
| 28209 | |
| 7880 | |
| 7877 | |
| 7871 | |
| 7865 | |
| 7862 | |
| 7858 | |
| 7852 | |
| 19933 |
웹서버
vi 온라인 학습장
1
|
| 19931 |
jQuery
강력한 무료 멀티 업로더...
1
|
| 19928 | |
| 19927 | |
| 31003 |
HTML
HTML5 자바스크립트 API
1
|
| 19920 |
기타
P3P 규약의 이해
6
|
| 28206 | |
| 19918 | |
| 28200 | |
| 7850 | |
| 19916 | |
| 28180 | |
| 28165 | |
| 19911 | |
| 7842 | |
| 7838 | |
| 7830 | |
| 7818 | |
| 28150 | |
| 19906 |
PHP
외부이미지 썸네일 만들기
5
|
| 19905 |
웹서버
퍼미션 계산기-아주 좋습니다.
|
| 19903 |
JavaScript
화면전체에 눈 내리는 효과
1
|
| 19901 |
PHP
외부이미지 서버에 저장하기
1
|
| 19900 |
PHP
유튜브 api 사용하기
|
| 28145 | |
| 7815 | |
| 31002 | |
| 7803 | |
| 7799 | |
| 7785 | |
| 19898 | |
| 7780 | |
| 7779 | |
| 7777 | |
| 7776 | |
| 7775 | |
| 7758 | |
| 19893 | |
| 19892 | |
| 19891 | |
| 20850 |
도로명주소
다음 우편번호 api
2
|
| 19885 | |
| 7752 | |
| 7747 | |
| 7738 | |
| 19883 |
JavaScript
자바스크립트로 오버로딩 구현하기
1
|
| 7735 | |
| 28139 | |
| 7734 | |
| 7731 | |
| 7725 | |
| 7717 | |
| 19879 | |
| 7715 | |
| 7710 | |
| 19858 | |
| 7709 | |
| 7703 | |
| 28134 | |
| 28129 | |
| 7694 | |
| 7690 | |
| 28125 | |
| 7672 | |
| 7660 | |
| 28111 | |
| 19857 | |
| 19856 |
MySQL
사이트 관리자 비밀번호 재설정하기
|
| 7658 | |
| 28106 | |
| 28098 | |
| 7655 | |
| 28095 | |
| 7651 | |
| 19851 | |
| 7646 | |
| 19850 | |
| 24661 | |
| 28089 | |
| 7633 | |
| 7623 | |
| 28087 | |
| 28085 | |
| 7620 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기