//============================================================================================= // // javascript EnterMove.js // // // ���� 2006/08/xx // ��� 2006/10/05 ���K�\���𗘗p�����@�ɕύX // �_������ // ��� 2006/10/11 �^�O���C���[�W�̂Ƃ��ɂ��킹�ďC�� // // �O�� 2006/10/18 �ړ�����click�����select�Ăяo���𖳌� // // �l�� 2006/11/16 next_id��prev_id�Ŏw�肵��id��next_cmp��prev_cmp�̎O�Ԗڂ̈�Ƃ��ė^����悤�ɕύX // // �ܔ� 2006/12/14 �L�q�~�X�ɂ��߂鏈�����ꍇ�ɂ���Ă͋@�\���Ȃ������̂��C�� // // �Z�� 2006/12/26 ���W�I�{�b�N�X��select�Ȃǂ̂��߂�enteronly��lj� // //============================================================================================= // // �G���^�[���蓙����������B // �‚��łɏ㉺�ړ��� // /* ���p��@ ���炩���� javascript�Ɉȉ��̂悤�Ɉړ����������Ώۂ̏��Ԃ��L�q var mover = new moveInputField([{'id':'company_zip'}, {'id':'company_name'}, {'id':'company_kana'}]); HTML�͂��̂悤�ɋL�q �����I�Ɏ��Ɉړ�����I�u�W�F�N�g���w�肷��ɂ͈ȉ��̂悤�ɋL�q *next_id , prev_id�Ŗ����I�ɐ��� var mover = new moveInputField([{'id':'company_zip','next_id':'company_kana'}, {'id':'company_name'}, {'id':'company_kana'}]); ���ׂ���������������ꍇ��next_cmp�������́Aprev_cmp���g�����䂷�� �ȉ��̗�ł́A���݂̃t�H�[��(company_zip)�̒��g�͂Ȃ��ꍇ�A�ړ����Ȃ��Ƃ��������ł��� *next_cmp , prev_cmp�ňړ������𖾎��I�ɐ��� �e���\�b�h�̈�́A���݂̃I�u�W�F�N�g var mover = new moveInputField([{'id':'company_zip' ,'next_cmp':'function(targObj,no,next_id){return (targObj.value == "") ? "" : "company_name";}'}, {'id':'company_name'}, {'id':'company_kana'}]); nect_cmp��prev_cmp�̈�͈ȉ��̂Ƃ��� ����@�ΏۂƂȂ�I�u�W�F�N�g ����@�I�u�W�F�N�g�h�c�̍Ō�̐��� ��O��@���܂��͑O��id *** Enter����̒��� *** Form��Input��type��image�̏ꍇ,�T�u�~�b�g����Ă��܂��̂Œ��ӂ��K�v ���炩�̕�@�ŁAEnter�ł̃T�u�~�b�g����������@���K�v IE6�̏ꍇ�͂��߂�input type="image"�ɔ�ԁi�H�j�̂ł��̃^�O��onFocus��imfSubmitCancel��lj������ok�����E�E�E */ var DEF_NEXT = 0; var DEF_PREV = 1; //JSON�ŃL�[�̈Ӗ������߂� var KEY_MOVE = [ {'key' : 13 , 'state' : DEF_NEXT}, //�G���^�[ {'key' : 40 , 'state' : DEF_NEXT}, //���J�[�\�� {'key' : 38 , 'state' : DEF_PREV} //��J�[�\�� ]; //�ŋ߃t�H�[�J�X�����I�u�W�F�N�g���i�[ var SAIKIN_FOCUS_SHITA_OBJ = null; //�ꎞ�I�ɕۑ�����event var CHACHE_EVENT; //--------------------------------------------------------------------------------------------- //���@�O�F moveInputField //��@���F list JSON�L�@�ɂ�郊�X�g //�߂�l�F �Ȃ� //�@�@�\�F //--------------------------------------------------------------------------------------------- function moveInputField(list,keymove) { this.List = list; this.Object = null; this.KeyMove = (keymove) ? keymove : KEY_MOVE; //--------------------------------------------------------------------------------------------- //���@�O�F onMove //��@���F obj_id ���݂̃I�u�W�F�N�g�� //�@�@�@�@ event �L�[�C�x���g�Ŏg�p����3 //�@�@�@�@ enteronly �G���^�[�L�[�̂ݗL�� //�߂�l�F �Ȃ� //�@�@�\�F ��͏�Ԃɂ���Ė��O�ƈ�v����I�u�W�F�N�g�ֈړ� //--------------------------------------------------------------------------------------------- moveInputField.prototype.onMove = function(obj_id,event,enteronly) { var MoveType = -1; if (enteronly) { if (event.keyCode == 13) MoveType = DEF_NEXT; } else { //�L�[�ɍ��v���邩���ׂ� for (var i = 0;i < this.KeyMove.length;i++) { if (this.KeyMove[i].key == event.keyCode) { MoveType = this.KeyMove[i].state; break; } } } //Next,Prev�Ƃ��ɍ��v���Ȃ��ꍇ�͏I�� if (MoveType == -1) return null; var targetObj = document.getElementById(obj_id); //�ꎞ�I�ɕۑ� setEvent(event); //���v�����玟�̏����Ɉڂ� for (var i = 0;i < this.List.length;i++) { //���K�\���Ń}�b�`������ if (obj_id.match(this.List[i].id + "(\\d*)")) { var Obj = null; switch(MoveType) { case DEF_NEXT: //�O�U/�P�P/�P�U�@id�������C���i�C���^�[�t�F�C�X�̕ύX�����j //����id�𒲂ׂ� var next_id = (this.List[i].next_id) ? this.List[i].next_id : this.List[(i+1)%this.List.length].id; //���ւ̔�r���������邩�H if (this.List[i].next_cmp) Obj = eval('('+ this.List[i].next_cmp +')(targetObj , eval(RegExp.$1) ,"'+next_id+'");'); //���X�g�̎��� else Obj = next_id; break; case DEF_PREV: //�O�U/�P�P/�P�U�@id�������C���i�C���^�[�t�F�C�X�̕ύX�����j //�O��id�𒲂ׂ� var prev_id = (this.List[i].prev_id) ? this.List[i].prev_id : this.List[(i+this.List.length-1)%this.List.length].id; if (this.List[i].prev_cmp) Obj = eval('('+ this.List[i].prev_cmp +')(targetObj , eval(RegExp.$1) ,"'+prev_id+'");'); //���X�g�̈�‘O�ցi�}�C�i�X�ɂȂ�Ȃ��悤�ɒ����j else //�O�U/�P�Q/�P�S�@�L�q�~�X���C�� Obj = prev_id; break; } //�I�u�W�F�N�g���擾 Obj = document.getElementById(Obj); if (Obj != null) { //�O�U/�P�O/�P�W�@������ӂ𖳌� // Obj.click(); // if (event.keyCode != 13 || enteronly) Obj.focus(); // Obj.select(); SAIKIN_FOCUS_SHITA_OBJ = this.Object = Obj; return Obj; } } } return false; }; //--------------------------------------------------------------------------------------------- //���@�O�F selectingObject //��@���F �Ȃ� //�߂�l�F ���ݑI�𒆂̃I�u�W�F�N�g //�@�@�\�F ���ݑI�𒆂̃I�u�W�F�N�g�̎擾 //--------------------------------------------------------------------------------------------- moveInputField.prototype.selectingObject = function() { return this.Object; }; }; //--------------------------------------------------------------------------------------------- //���@�O�F imfSubmitCancel //��@���F �Ȃ� //�߂�l�F �Ȃ� //�@�@�\�F moveInputField�Ƃ��킹�Ďg�� // input�^�O�� type="image" �̏ꍇ�t�H�[�J�X���Ƃ��Ȃ��悤�ɂ��邽�߂Ɏg�� // �� ; //--------------------------------------------------------------------------------------------- function imfSubmitCancel() { if (SAIKIN_FOCUS_SHITA_OBJ != null) { SAIKIN_FOCUS_SHITA_OBJ.focus(); SAIKIN_FOCUS_SHITA_OBJ = null; } } //--------------------------------------------------------------------------------------------- //���@�O�F getEvent //��@���F �Ȃ� //�߂�l�F �Ȃ� //�@�@�\�F IE�ł͂ǂ��ł�event���擾�ł��邪FireFox���ł͂ł��Ȃ��̂ňꎞ�I�ɕۑ����� // ���������e����ɐ������Ƃ͌���Ȃ� //--------------------------------------------------------------------------------------------- function getEvent() { return CHACHE_EVENT; } //--------------------------------------------------------------------------------------------- //���@�O�F setEvent //��@���F �Ȃ� //�߂�l�F �Ȃ� //�@�@�\�F event�𖳗����g�������Ƃ��ɂ�����Ăяo���ĕۑ����A�ʂ̂Ƃ���Ŏg�� //--------------------------------------------------------------------------------------------- function setEvent(event) { CHACHE_EVENT = event; }