You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

194 lines
4.9 KiB

APP.MEMBER = {};
/**
* 회원 관련 자바스크립트 초기화
*/
APP.MEMBER.init = function() {
APP.MEMBER.InitLoginForm(); // 로그인폼 init
APP.MEMBER.initCheckExist();
APP.MEMBER.InitRegisterForm();
APP.MEMBER.InitMemberModifyForm();
};
APP.MEMBER.InitRegisterForm = function() {
$('[data-form="form-register"]').submit(function(e) {
e.preventDefault();
var $form = $(this);
$.ajax({
type : 'PUT',
data : $form.serialize(),
url : base_url + '/ajax/members/info',
success:function(res){
if(res.result == true) {
alert(LANG.member_join_success);
location.href = base_url + "/members/login";
}
}
});
});
};
APP.MEMBER.InitMemberModifyForm = function() {
$('[data-form="form-member-modify"]').submit(function(e) {
e.preventDefault();
var $form = $(this);
$.ajax({
type : 'POST',
data : $form.serialize(),
url : base_url + '/ajax/members/info',
success:function(res){
if(res.result == true) {
alert(res.message);
location.reload();
}
}
});
});
};
/**
* 로그인 폼 초기화
* @constructor
*/
APP.MEMBER.InitLoginForm = function() {
$('[data-role="form-login"]').submit(function (e) {
e.preventDefault();
var $form = $(this);
var elementLoginID = $form.find('[name="login_id"]');
var elementLoginPass = $form.find('[name="login_pass"]');
if(elementLoginID.val().trim() == '')
{
alert(LANG.member_login_userid_required);
elementLoginID.focus();
return false;
}
if(elementLoginPass.val().trim() == '')
{
alert(LANG.member_login_password_required);
elementLoginPass.focus();
return false;
}
$.ajax({
url : base_url + 'ajax/members/login',
type : "POST",
data : $form.serialize(),
success:function(res) {
if (res.result == true) {
location.href = res.reurl ? res.reurl : base_url;
}
},
error : function(e){
elementLoginPass.val('');
}
})
});
};
/**
* 중복확인 버튼 이벤트 연결
*/
APP.MEMBER.initCheckExist = function() {
$('[data-toggle="check-member-exist"]').each(function(){
var $btn = $(this);
$btn.on('click', function(){
var $target = $("#" + $btn.data('target'));
var key = $btn.data('check');
var value = $target.val();
if( typeof value == 'undefined' || ! value || ! value.trim() )
{
alert(LANG.member_join_user_id_required );
$target.focus();
return false;
}
var wordCheck = APP.MEMBER.denyWordCheck(key,value);
if( wordCheck == 'VALID_EMAIL' )
{
alert(LANG.member_join_no_valid_email_address );
$target.focus();
return false;
}
else if(! wordCheck)
{
alert(LANG.member_join_user_id_contains_deny_word );
$target.focus();
return false;
}
if( APP.MEMBER.getInfo(key, value) )
{
alert(LANG.member_join_user_id_already_exists );
$target.focus();
return false;
}
alert(LANG.member_join_user_id_available );
return true;
});
});
};
/**
* 사용자의 정보 가져오기
* @param key 가져올 기준 키
* @param value 키 값
* @returns {*}
*/
APP.MEMBER.getInfo = function(key, value) {
var info = null;
$.ajax({
url : base_url + '/ajax/members/info',
type : 'get',
async : false,
cache : false,
data : {
key : key,
value : value
},
success:function(res){
info = res.result;
}
});
return info;
};
/**
* 아이디와 닉네임 금지단어 사용여부 체크
* @param key 아이디/닉네임
* @param value 체크할 값
* @returns {*}
*/
APP.MEMBER.denyWordCheck = function(key,value) {
var result = null;
$.ajax({
url : base_url + '/ajax/members/word_check',
type : 'get',
async : false,
cache : false,
data : {
key:key,
value : value
},
success:function(res) {
result = res.result;
}
});
return result;
};
APP.MEMBER.POP_CHANGE_PHOTO = function() {
APP.POPUP({
url : '/members/photo_change',
width : 600,
height :150
});
};
$(document).ready(APP.MEMBER.init);