Kawa.netxp ADDRAjax - Ajax�ɂ��Z���h�����_�E������

�s���{�������s�撬����������ƃh�����_�E���ŏZ������������ JavaScript ���C�u�����ł��B
JavaScript �݂̂ʼnғ����邽�߁A�T�[�o�T�C�h�ʼnғ�����CGI�v���O�����͕s�v�ł��B
�Z�������f�[�^�̒ʐM�ɂ� Ajax�iJSON�j�𗘗p���Ă���A������\���Ɍy�ʂł��B

�y2007/12/23 �NjL�z jQuery �ɂ��Ή����܂����I

�Z����I���F

�wADDRAjax�x�� ADdress DRilled down by Ajax �̗��ł��B

�_�E�����[�h

AjaxZip2 �͈ȉ�����_�E�����[�h�ł��܂��B

�ꊇ�A�[�J�C�u�F addrajax-20071223.zip ZIP  ���ʏ�p�b�P�[�W�͂�����ł�
�Z�����������y�ʔŁF addrajax-20071223-core.zip ZIP  ���v���O�����{�̂̂�
�Z�������̂݁F addrajax-20071223-data.zip ZIP  ���f�[�^�̂݋l�ߑւ��p

�ʏ�́A�ꊇ�A�[�J�C�u�������p���������B
�ꊇ�A�[�J�C�u�ɂ́A�ȉ��̃t�@�C���������Ă��܂��B

addrajax/addrajax.js            JavaScript���C���v���O����
addrajax/prototype.js           JavaScript���C�u�����iAjax�ʐM�p�j
addrajax/data/pref-01.json      �k�C���̏Z���f�[�^�iJSON�t�H�[�}�b�g�j
addrajax/data/pref-02.json      �X���̏Z���f�[�^
addrajax/data/pref-03.json      �@�@�@�F
       �i�����j
addrajax/data/pref-45.json      �@�@�@�F
addrajax/data/pref-46.json      ���������̏Z���f�[�^
addrajax/data/pref-47.json      ���ꌧ�̏Z���f�[�^
addrajax/work/csv2jsonpref.pl   �X�֔ԍ��f�[�^���Z���f�[�^�ϊ��v���O����
addrajax/work/lib/JSON.pm       JSON�����pPerl���W���[��

work �f�B���N�g���́A�ʏ�̗��p�ł͕s�v�ł��B

CodeRepos �� �J�����̃\�[�X�R�[�h �����J���Ă��܂��B

ADDRAjax �̓����菇

�_�E�����[�h�����A�[�J�C�u���� addrajax �f�B���N�g����W�J�����������B
data �T�u�f�B���N�g�����܂ޑS�Ẵt�@�C�����T�[�o�ɃA�b�v���[�h���Ă����܂��B
HTML �\�[�X�ł́A<head>�`</head>�ɉ��L��JavaScript��lj����܂��B

<script src="addrajax/prototype.js"></script>
<script src="addrajax/addrajax.js" charset="UTF-8"></script>
<script><!--
    Event.observe(window,'load',function(){
        var dd = new ADDRAjax( 'pref', 'city', 'area' );
        dd.JSONDATA = 'addrajax/data';
        dd.init();
    });
//--></script>

���ɁA�Z���I���t�H�[�� <form>�`</form> ���ɉ��L�̂悤�ȋ�̃v���_�E����ݒu���Ă����܂��B
���I�����p�Ɂw��(�s���{��)�x�̂悤��option��p�ӂ��Ă����܂��B

<select name="pref"><option value="">��(�s���{��)</option></select>
<select name="city"><option value="">��(�s�撬��)</option></select>
<select name="area"><option value="">��(����)</option></select>

�ȏ�Őݒ�͊����ł��B

�t�H�[���̕ϐ��� pref�Ecity�Earea �͕ύX�ł��܂��B
�t�H�[�����ƁAnew ADDRAjax() ���ɂ͓����ϐ������w�肵�Ă��������B
�s���{�������E�s�撬�������E���旓�͑S�Ēʏ�̃t�H�[���ɂȂ�܂��B
submit ���ɂ̓t�H�[���̑��̗v�f�Ɠ����悤�ɃT�[�o�ɒl�����M����܂��B

jQuery �𗘗p����ꍇ

ADDRAjax �J�������� Prototype ���C�u�������嗬�ł������A ���݂͂����ƃN�[���� jQuery ���C�u�������o�ꂵ�Ă��܂��B jQuery ���g���ꍇ�́A���L�̂悤�ɋL�q���܂��B

<script src="addrajax/jquery.js"></script>
<script src="addrajax/addrajax.js" charset="UTF-8"></script>
<script><!--
    $(function(){
        var dd = new ADDRAjax( 'pref', 'city', 'area' );
        dd.JSONDATA = 'addrajax/data';
        dd.init();
    });
//--></script>

Prototype �𗘗p���Ă� jQuery �𗘗p���Ă��A����͓����ł��B
�T�C�g���Ŋ��ɂǂ��炩�̃��C�u�����������p�̏ꍇ�́A ����������̂܂܂����p���������B

�f�t�H���g�Z���̎w��

�f�t�H���g�őI���ς̏Z�����w�肷�邱�Ƃ��ł��܂��B

�Z����I���F

�ȉ��̂悤�ɁAsetAddress() ���\�b�h�̈����ɁA�s���{�����E�s�撬�����E���於���w�肵�܂��B
�}�b�`���O�́A���S��v�ł��B1�����ł��Ⴄ�Ɛ������I������܂���B

<script src="addrajax/prototype.js"></script>
<script src="addrajax/addrajax.js" charset="UTF-8"></script>
<script><!--
    Event.observe(window,'load',function(){
        var dd = new ADDRAjax( 'pref', 'city', 'area' );
        dd.init();
        dd.setAddress('��t��','��t�s������','�ٓV');
    });
//--></script>

�I�����̃R�[���o�b�N�֐��Ăяo��

onChange �v���p�e�B�𗘗p����ƁA�Z�����I�������x�ɃR�[���o�b�N�֐����N�����܂��B
�����ł́Aalert() �őI����e��\�����Ă܂��B

�Z����I���F

�R�[���o�b�N�֐��́A�s���{�����E�s�撬�����E���於�������Ƃ��āA�Ăяo����܂��B

<script src="addrajax/prototype.js"></script>
<script src="addrajax/addrajax.js" charset="UTF-8"></script>
<script><!--
    Event.observe(window,'load',function(){
        var dd = new ADDRAjax( 'pref', 'city', 'area' );
        dd.onChange = function (pref,city,area) {
            alert( pref+" "+city+" "+area );
        };
        dd.init();
    });
//--></script>

�R�[���o�b�N�֐������p����ƁA���낢��ł������ł��B ����F�h�����_�E���� ALPSLAB Clip! �쐬�c�[��

�X�֔ԍ������̃A�b�v�f�[�g�菇

AjaxZip2 �A�[�J�C�u���쐬������ɁA�s���������ȂǂŗX�֔ԍ����ύX����Ă���ꍇ������܂��B
�ŐV�̗X�֔ԍ������𗘗p�������ꍇ�́A �ȉ��̎菇�ōŐV�łɃA�b�v�f�[�g�ɃA�b�v�f�[�g�ł��܂��B

$ cd addrajax/work

$ wget http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh
18:32:32 (5.67 MB/s) - `ken_all.lzh' saved [1720194/1720194]

$ lha x ken_all.lzh
ken_all.csv     - Melted   :  ooooooooooooooooooooooooooooooooooooooooooooooooooooo

$ perl csv2jsonpref.pl ken_all.csv
�k�C��          .......................................... 8205 lines
�X��          ............. 2495 lines
��茧          .......... 1934 lines
       �i�����j
�{�茧          ../data/pref-45.json   11170bytes
��������        ../data/pref-46.json   18895bytes
���ꌧ          ../data/pref-47.json    9606bytes

$ rm -f ken_all.lzh ken_all.csv

wget �� lha �R�}���h�����p�ł��Ȃ��ꍇ�́A�茳��PC��Mac�‹��ɂ� ken_all.lzh ���_�E�����[�h���āA�������� ken_all.csv �t�@�C����W�J������ŁA csv2jsonpref.pl �����s���Ă��������B
���邢�̓T�[�o��łȂ��Ă��AWindows �‹��iActivePerl�j�� Mac OS X �N���C�A���g�ł� csv2jsonpref.pl �͎��s�ł������ł��B

���C�Z���X�Ƃ��g�p��̒��ӓ_

ADDRAjax �́A �C�� BSD ���C�Z���X MIT ���C�Z���X �Ƃ��Č��J���܂��B
�l���p�E���p���p���킸�A���R�ɂ����p���������܂��B
�������A�\�[�X���̒��쌠�\���ɂ‚��ẮA�ύX�����ɂ����p���������B
�X�֔ԍ������͓��{�X�����А���̂��̂ł��B�Ĕz�z�͎��R�Ƃ̂��Ƃł��B

�Ȃ��A���g�p�ɂ������āA ���L�� �Ɏ��O�E����ɂ��A�����������K�v�͕K����������܂���B
�Ƃ͂����A�ł���΁A�ꌾ���[�����ł��m�点����������Ɗ������ł��B
����₲�ӌ��Ȃǂ́A�R�����g�� �ւ��肢���܂��B

�X�V����

�R�����g�͂������ by AjaxCom

���̑��̃y�[�W�ւ̃����N

���̃y�[�W�ւ̃g���b�N�o�b�N by AjaxTB

�g���b�N�o�b�NURL�� http://www.kawa.net/service/tb/ajaxtb.cgi/works/ajax/addrajax/addrajax.html

Kawa.netxp © Copyright 2006 Kawasaki Yusuke