날이 갈수록 꼼수만 찾게 됩니다. > 자유게시판

자유게시판

날이 갈수록 꼼수만 찾게 됩니다. 정보

날이 갈수록 꼼수만 찾게 됩니다.

본문

중복확인을 일일이 짜는게 귀찮아서... 아래처럼 해버렸네요 ㅎㅎㅎ

날이 갈수록 꼼수만 늘어 가는 것 같습니다.

 

ps. 그 누구에게 도움이 되시기를 ㅎㅎ (참고로 디자인 들어가기 전 사전작업 파일 입니다.)

 


 
<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> 
추천
0
  • 복사

댓글 2개

© SIRSOFT
현재 페이지 제일 처음으로