도로명 주소쳬계에 맞추어 krzip extravar와 회원가입 사용자정의 필드 개선

This commit is contained in:
khongchi 2013-11-14 20:12:22 +09:00
parent 4f4c63ed3d
commit 797070a1a2
3 changed files with 4 additions and 161 deletions

View file

@ -473,25 +473,8 @@ class ExtraItem
break; break;
// address // address
case "kr_zip" : case "kr_zip" :
// krzip address javascript plugin load $krzipModel = &getModel('krzip');
Context::loadJavascriptPlugin('ui.krzip'); $buff .= $krzipModel->getKrzipCodeSearchHtml($column_name, $value);
$buff .=
'<div id="addr_searched_' . $column_name . '" style="display:' . ($value[0] ? 'block' : 'none') . ';">' .
'<input type="text" readonly="readonly" name="' . $column_name . '[]" value="' . $value[0] . '" class="address" />' .
'<a href="#" onclick="doShowKrZipSearch(this, \'' . $column_name . '\'); return false;" class="button red"><span>' . Context::getLang('cmd_cancel') . '</span></a>' .
'</div>' .
'<div id="addr_list_' . $column_name . '" style="display:none;">' .
'<select name="addr_list_' . $column_name . '"></select>' .
'<a href="#" onclick="doSelectKrZip(this, \'' . $column_name . '\'); return false;" class="button blue"><span>' . Context::getLang('cmd_select') . '</span></a>' .
'<a href="#" onclick="doHideKrZipList(this, \'' . $column_name . '\'); return false;" class="button red"><span>' . Context::getLang('cmd_cancel') . '</span></a>' .
'</div>' .
'<div id="addr_search_' . $column_name . '" style="display:' . ($value[0] ? 'none' : 'block') . '">' .
'<input type="text" name="addr_search_' . $column_name . '" class="address" value="" />' .
'<a href="#" onclick="doSearchKrZip(this, \'' . $column_name . '\'); return false;" class="button green"><span>' . Context::getLang('cmd_search') . '</span></a>' .
'</div>' .
'<input type="text" name="' . $column_name . '[]" value="' . htmlspecialchars($value[1]) . '" class="address" />' .
'';
break; break;
// General text // General text
default : default :

View file

@ -595,35 +595,8 @@ class memberAdminView extends member
} }
else if($extendForm->column_type == 'kr_zip') else if($extendForm->column_type == 'kr_zip')
{ {
Context::loadFile(array('./modules/member/tpl/js/krzip_search.js', 'body'), true); $krzipModel = &getModel('krzip');
$extentionReplace = array( $template = $krzipModel->getKrzipCodeSearchHtml($extendForm->column_name, $extendForm->value);
'msg_kr_address' => $lang->msg_kr_address,
'msg_kr_address_etc' => $lang->msg_kr_address_etc,
'cmd_search' => $lang->cmd_search,
'cmd_search_again' => $lang->cmd_search_again,
'addr_0' => $extendForm->value[0],
'addr_1' => $extendForm->value[1]);
$replace = array_merge($extentionReplace, $replace);
$template = <<<EOD
<div class="krZip" style="padding-top:5px">
<div id="zone_address_search_%column_name%" style="margin-bottom:10px">
<label for="krzip_address1_%column_name%">%msg_kr_address%</label>
<span class="input-append">
<input type="text" id="krzip_address1_%column_name%" value="%addr_0%" />
<button type="button" class="btn">%cmd_search%</button>
</span>
</div>
<div id="zone_address_list_%column_name%" hidden style="margin-bottom:10px">
<select name="%column_name%[]" id="address_list_%column_name%"><option value="%addr_0%">%addr_0%</select>
<button type="button">%cmd_search_again%</button>
</div>
<div class="address2" style="margin-bottom:10px">
<label for="krzip_address2_%column_name%">%msg_kr_address_etc%</label>
<input type="text" name="%column_name%[]" id="krzip_address2_%column_name%" value="%addr_1%" />
</div>
</div>
<script>jQuery(function($){ $.krzip('%column_name%') });</script>
EOD;
} }
else if($extendForm->column_type == 'jp_zip') else if($extendForm->column_type == 'jp_zip')
{ {

View file

@ -1,113 +0,0 @@
/* 한국 우편 번호 관련 */
function doHideKrZipList(column_name) {
var $j = jQuery;
$j('#zone_address_list_'+column_name).hide();
$j('#zone_address_search_'+column_name).show();
$j('#zone_address_1_'+column_name).hide();
var form = $j('#fo_insert_member');
form.find('select[name=_tmp_address_list_'+column_name+']').focus();
form.find('input[name='+column_name+']').eq(0).val('');
}
function doSelectKrZip(column_name) {
var $j = jQuery;
$j('#zone_address_list_'+column_name).hide();
$j('#zone_address_search_'+column_name).hide();
$j('#zone_address_1_'+column_name).show();
var form = $j('#fo_insert_member');
var val = form.find('select[name=_tmp_address_list_'+column_name+']').val();
var addr = form.find('input[name='+column_name+']');
addr
.eq(0).val(val).end()
.eq(1).focus();
}
function doSearchKrZip(column_name) {
var field = jQuery('#fo_insert_member input[name=_tmp_address_search_'+column_name+']');
var _addr = field.val();
if(!_addr) return;
var params = {
addr : _addr,
column_name : column_name
};
var response_tags = ['error','message','address_list'];
exec_xml('krzip', 'getKrzipCodeList', params, completeSearchKrZip, response_tags, params);
}
function completeSearchKrZip(ret_obj, response_tags, callback_args) {
if(!ret_obj['address_list']) {
alert(alert_msg['address']);
return;
}
var address_list = ret_obj['address_list'].split('\n');
var column_name = callback_args['column_name'];
var $j = jQuery;
address_list = $j.map(address_list, function(addr){ return '<option value="'+addr+'">'+addr+'</option>'; });
$j('#zone_address_list_'+column_name).show();
$j('#zone_address_search_'+column_name).hide();
$j('#zone_address_1_'+column_name).hide();
$j('#fo_insert_member select[name=_tmp_address_list_'+column_name+']').html(address_list.join('')).get(0).selectedIndex = 0;
}
(function($){
$.krzip = function(column_name) {
var $search_zone, $select_zone;
// search zone
($search_zone = $('#zone_address_search_'+column_name))
.find(':text')
.keypress(function(event){
if(event.keyCode!=13) return;
$search_zone.find('button').click();
return false;
})
.end()
.find('button')
.click(function(){
var val = $.trim($search_zone.find(':text').val());
var params = {
addr : val,
column_name : column_name
};
var response_tags = ['error','message','address_list'];
if (!val) return false;
function callback(ret_obj) {
var addr_list = ret_obj['address_list'] || '';
if(!addr_list) return alert(alert_msg['address']) || false;
$search_zone.hide();
$select_zone.show();
addr_list = $.map( addr_list.split('\n'), function(addr){return '<option value="'+addr+'">'+addr+'</option>'} );
$('#address_list_'+column_name).html(addr_list.join('\n')).focus().get(0).selectedIndex = 0;
}
exec_xml('krzip', 'getKrzipCodeList', params, callback, response_tags, params);
return false;
});
// select zone
($select_zone = $('#zone_address_list_'+column_name))
.find('button')
.click(function(){
$search_zone.show().find(':text').val('').focus();
$select_zone.hide();
});
}
})(jQuery);