날이 갈수록 꼼수만 찾게 됩니다. 정보
날이 갈수록 꼼수만 찾게 됩니다.
본문
중복확인을 일일이 짜는게 귀찮아서... 아래처럼 해버렸네요 ㅎㅎㅎ
날이 갈수록 꼼수만 늘어 가는 것 같습니다.
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
0
댓글 2개
캬~~ XE 모듈도 만드실 수 있다니 리얼 능력자~!!!

xe모듈은 아니구요.
그누 확장 기능 폴더 명이 xe입니다.
그누 확장 기능 폴더 명이 xe입니다.