diff --git a/themes/xe_solid_enterprise/modules/member/js/signup_check.js b/themes/xe_solid_enterprise/modules/member/js/signup_check.js new file mode 100644 index 000000000..77116ddb4 --- /dev/null +++ b/themes/xe_solid_enterprise/modules/member/js/signup_check.js @@ -0,0 +1,52 @@ +/** + * @brief 회원 가입시나 정보 수정시 각 항목의 중복 검사등을 하는 기능을 구현 + * @author NHN (developer@xpressengine.com) + **/ + +// 입력이 시작된 것과 입력후 정해진 시간동안 내용이 변하였을 경우 서버에 ajax로 체크를 하기 위한 변수 설정 +var memberCheckObj = { target:null, value:null } + +// domready시에 특정 필드들에 대해 이벤트를 걸어 놓음 +jQuery(document).ready(memberSetEvent); + +function memberSetEvent() { + jQuery('#fo_insert_member :input') + .filter('[name=user_id],[name=nick_name],[name=email_address]') + .blur(memberCheckValue); +} + + +// 실제 서버에 특정 필드의 value check를 요청하고 이상이 있으면 메세지를 뿌려주는 함수 +function memberCheckValue(event) { + var field = event.target; + var _name = field.name; + var _value = field.value; + if(!_name || !_value) return; + + var params = {name:_name, value:_value}; + var response_tags = ['error','message']; + + exec_xml('member','procMemberCheckValue', params, completeMemberCheckValue, response_tags, field); +} + +// 서버에서 응답이 올 경우 이상이 있으면 메세지를 출력 +function completeMemberCheckValue(ret_obj, response_tags, field) { + var _id = 'dummy_check'+field.name; + var dummy = jQuery('#'+_id); + + if(ret_obj['message']=='success') { + dummy.html('').hide(); + return; + } + + if (!dummy.length) { + dummy = jQuery('
').attr('id', _id).appendTo(field.parentNode); + } + + dummy.html(ret_obj['message']).show(); +} + +// 결과 메세지를 정리하는 함수 +function removeMemberCheckValueOutput(dummy, obj) { + dummy.style.display = "none"; +} diff --git a/themes/xe_solid_enterprise/modules/member/modify_info.html b/themes/xe_solid_enterprise/modules/member/modify_info.html index 239956d45..c85e6fe2d 100644 --- a/themes/xe_solid_enterprise/modules/member/modify_info.html +++ b/themes/xe_solid_enterprise/modules/member/modify_info.html @@ -1,32 +1,21 @@ - - - - - - - - - - - - - - - - - - - - - +