웹마스터 팁



스크립트를 구할때 자주 가는 사이트인데 좋은게 올라와 있더군요

각자 사용자의 입맛에 맛게 조금만 코딩하거나 모양을 변화 준다면 좋을거 같습니다

세이나 네이버 혹은 msn등 요즘 왠만한 사이트에서 쓰는 메뉴 추가 삭제 수정에 쓰는 스크립트와

같은 분류라 생각하시면 될듯

아울러 해피 스크립트의 운영자이신 매직님에게도 감사합니다 소스 올릴수 있게 허락해 주셔서^^


아래의 스크립트를  따서 실행해 보세요


///////////////////////////////////////////////////////////////////////

<script language="javascript">
<!--
var cso_temp = new Array();

function Change_SelectOption(cso_type) {
        with(document.cso_form) {
                if(cso_type != "add") {
                        if(cso_main.options.selectedIndex == -1) {
                                if(cso_type == "up" || cso_type == "edit" || cso_type == "del") {
                                        cso_temp[0] = 0;
                                } else
                                if(cso_type == "down") {
                                        cso_temp[0] = cso_main.options.length-1;
                                }
                                alert('선택된게 없으니 '+cso_temp[0]+'번째 Option으로 선택합니다.');
                                cso_main.options[cso_temp[0]].selected = true;
                                Change_SelectOption_Del('select');
                        } else {
                                if(cso_type == "up") {
                                        if(cso_main.options.selectedIndex == 0) {
                                                alert('위로 올리지 못합니다.');
                                        } else {
                                                Change_SelectOption_UpnDown('up');
                                        }
                                } else
                                if(cso_type == "down") {
                                        if(cso_main.options.selectedIndex == cso_main.options.length-1) {
                                                alert('아래로 내리지 못합니다.');
                                        } else {
                                                Change_SelectOption_UpnDown('down');
                                        }
                                } else
                                if(cso_type == "del") {
                                        Change_SelectOption_Del('execute');
                                } else
                                if(cso_type == "edit") {
                                        Change_SelectOption_AddnEdit('edit');
                                }
                        }
                } else {
                        Change_SelectOption_AddnEdit('add');
                }
        }
}

function Change_SelectOption_UpnDown(csoud_type){
        with(document.cso_form) {
                if(csoud_type == 'up') {
                        csoud_type = '-';
                } else
                if(csoud_type == 'down') {
                        csoud_type = '+';
                }
                cso_temp[0] = cso_main.options.selectedIndex;
                cso_temp[1] = eval('cso_main.options[cso_temp[0]'+csoud_type+'1].text');
                cso_temp[2] = eval('cso_main.options[cso_temp[0]'+csoud_type+'1].value');
                eval('cso_main.options[cso_temp[0]'+csoud_type+'1] = new Option(cso_main.options[cso_temp[0]].text,cso_main.options[cso_temp[0]].value)');
                cso_main.options[cso_temp[0]] = new Option(cso_temp[1],cso_temp[2]);
                eval('cso_main.options[cso_temp[0]'+csoud_type+'1].selected = true');
                Change_SelectOption_Del('select');
        }
}

function Change_SelectOption_Del(csod_type) {
        with(document.cso_form) {
                if(csod_type == 'select') {
                        cso_delnedit_index.value = cso_main.options.selectedIndex;
                        if(cso_main.options[cso_main.options.selectedIndex].text == '' && cso_main.options[cso_main.options.selectedIndex].value == '') {
                                cso_main.options[0].selected = true;
                        } else {
                                cso_delnedit_text.value = cso_main.options[cso_main.options.selectedIndex].text;
                                cso_delnedit_value.value = cso_main.options[cso_main.options.selectedIndex].value;
                        }
                } else
                if(csod_type == 'execute') {
                        if(confirm(cso_main.options.selectedIndex+'번째 Option을 삭제합니까?')) {
                                if(cso_main.options.selectedIndex != 0) {
                                        for(var i=0; i<cso_main.options.selectedIndex; i++) {
                                                cso_temp[i] = new Array();
                                                cso_temp[i][0] = cso_main.options[i].text;
                                                cso_temp[i][1] = cso_main.options[i].value;
                                        }
                                }
                                for(i=cso_main.options.selectedIndex+1; i<cso_main.options.length; i++) {
                                                cso_temp[i-1] = new Array();
                                                cso_temp[i-1][0] = cso_main.options[i].text;
                                                cso_temp[i-1][1] = cso_main.options[i].value;
                                }
                                for(i=0; i<cso_temp.length; i++) {
                                        cso_main.options[i] = new Option(cso_temp[i][0],cso_temp[i][1]);
                                }
                                cso_main.options[cso_main.options.length-1] = new Option();
                                if(cso_main.options[0].text == '' && cso_main.options[0].value == '') {
                                        alert('Option의 값은 최소 1개로 0번째 Option에 임시값을 입력합니다.');
                                        cso_main.options[0] = new Option('Temp','Temp');
                                }
                                cso_main.options[0].selected = true;
                                Change_SelectOption_Del('select');
                                if(cso_main.options[0].text == 'Temp' && cso_main.options[0].value == 'Temp') {
                                        cso_delnedit_text.select();
                                }
                        }
                }
        }
}

function Change_SelectOption_AddnEdit(csoae_type) {
        with(document.cso_form) {
                if(csoae_type == 'edit') {
                        csoae_type = 'deln'+csoae_type;
                }
                if(eval("cso_"+csoae_type+"_text.value != '' && cso_"+csoae_type+"_value.value != ''")) {
                        if(eval("cso_"+csoae_type+"_text.value.toLowerCase() != 'temp' && cso_"+csoae_type+"_value.value.toLowerCase() != 'temp'")) {
                                if(csoae_type == 'add') {
                                        cso_temp[0] = Change_SelectOption_NullCheck(cso_main.options.length);
                                } else
                                if(csoae_type == 'delnedit') {
                                        cso_temp[0] = 'cso_main.options.selectedIndex';
                                }
                                eval("cso_main.options["+cso_temp[0]+"] = new Option(cso_"+csoae_type+"_text.value,cso_"+csoae_type+"_value.value)");
                                if(csoae_type == 'delnedit') {
                                        cso_temp[0] = 'cso_delnedit_index.value';
                                }
                                eval('cso_main.options['+cso_temp[0]+'].selected = true');
                                if(csoae_type == 'add') {
                                        cso_main.size = cso_main.options.length;
                                        cso_add_text.value = '';
                                        cso_add_value.value = '';
                                        Change_SelectOption_Del('select');
                                }
                        } else {
                                alert('임시값은 허용하지 않습니다.');
                                eval("cso_temp[0] = cso_"+csoae_type+"_text.value.toLowerCase() == 'temp' ? 'text' : 'value'");
                                eval('cso_'+csoae_type+'_'+cso_temp[0]+'.select()');
                        }
                } else {
                        eval("cso_temp[0] = cso_"+csoae_type+"_text.value == '' ? 'Text' : 'Value'");
                        alert(cso_temp[0]+'값이 비었습니다.');
                        eval('cso_'+csoae_type+'_'+cso_temp[0].toLowerCase()+'.focus()');
                }
        }
}

function Change_SelectOption_NullCheck(csonc_no) {
        with(document.cso_form) {
                if(cso_main.options[csonc_no-1].text == '' && cso_main.options[csonc_no-1].value == '') {
                        Change_SelectOption_NullCheck(csonc_no-1);
                } else {
                        cso_temp[1] = csonc_no;
                }
        }
        return cso_temp[1];
}
//-->
</script>

<form name="cso_form">
<select name="cso_main" size="5" onchange="Change_SelectOption_Del('select');">
<option value="Example_0">Example_0
<option value="Example_1">Example_1
<option value="Example_2">Example_2
<option value="Example_3">Example_3
<option value="Example_4">Example_4
</select>

<input type="button" value="UP" onclick="Change_SelectOption('up');">
<input type="button" value="DOWN" onclick="Change_SelectOption('down');">

<br><br>

text : <input type="text" name="cso_add_text"><br>
value : <input type="text" name="cso_add_value">
<input type="button" value="ADD" onclick="Change_SelectOption('add');">

<br><br>

index : <input type="text" name="cso_delnedit_index" readonly><br>
text : <input type="text" name="cso_delnedit_text"><br>
value : <input type="text" name="cso_delnedit_value">
<input type="button" value="EDIT" onclick="Change_SelectOption('edit');">
<input type="button" value="DEL" onclick="Change_SelectOption('del');">
</form>
제목 글쓴이 날짜
레이어 3 - 메뉴판때기. [1] 미친개 2004.07.04
레이어 4 - 뽀나수 하나 [1] 미친개 2004.07.07
레이어 5 - 뽀나수 둘 [6] 미친개 2004.07.07
웹 문서 암호화 스크립트 [1] 미친개 2004.07.20
아이프레임으로 문서크기 자동조절하기(완벽판) [13] 렌디 2004.07.21
문서에 따른 아이프레임 heigh(높이) 값 자동 조절 (수정본) [3] 스토비━ⓒ 2004.07.31
원하는 아이프레임부분을 리로드하자! [1] †천상의燦† 2004.08.02
Javascipt로 구현한 MD5,MD4,SHA1 [10] 장종석 2004.08.06
레이어를 클릭해서 보이거나 사라지게 하기 [3] †천상의燦† 2004.08.18
이미지 사이즈에 맞게 새창띄우기 [오류보완] 정확하게 안열리는 오류 [11] beMax 2004.08.18
싸이처럼 테이블 안에서 버튼으로 이동/스크롤 하기 [5] 제로스 2004.09.09
랜디님의 iframe 크기조절 소스응용-iframe 최저길이 지정하기 [1] 김수형 2004.09.10
셀렉트 메뉴를 통해 갤러리 만들기 한현종 2004.09.10
요일마다 바뀌는 상태바 인사 말~ [2] Kasis 2004.09.13
내홈피 즐겨찾기/새로고침/앞/뒤로가기 [4] 팡이 2004.09.13
메뉴 추가 삭제 수정시 쓰면 좋을것 같네요 - 출처: http://www.happyscript.com/ [1] 예뜨락 2004.09.17
슬라이딩 메뉴 자바스크립트 [3] 행복한고니 2004.09.21
멀티 파일다운로드 꽁수로 구현하기 [1] 행복한고니 2004.10.07
웹페이지에서 단축키 사용 (Firefox) [2] 전종화 2004.10.07
자바스크립트로 구현한 윈도우 스타일.. [2] 크래닉스 2004.10.07