웹마스터 팁



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

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

세이나 네이버 혹은 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>
제목 글쓴이 날짜
iFlower 윈도우리스 플래시 ActiveX 컨트롤 덴디 2004.11.16
ActiveX 플래시 이미지캡쳐 컨트롤 iFlower [1] 덴디 2004.11.15
(수정)배경음악,연월일,시간, 코멘트 셋트.(AM,PM==>오전,오후 순,한국식으로 ...) [4] 민피디 2004.11.10
홈페이지 나갈때 새창띄우기 [2] piasol 2004.11.07
ActiveX 멀티파일업로더 입니다. [9] by風 2004.11.01
행복한고니님의 체크박스를 이미지로 사용하기를 보고... 체크박스옆에 텍스트 부치기 [2] beMax 2004.10.29
JavaScript 구문강조 효과내기 파우링 2004.10.28
모든 이미지, 텍스트 링크에 점선 없애기 [5] 이강민 2004.10.25
XP2인지 체크하여 XP2일때는 팝업허용하라는 메시지 뛰워주기 [3] 아돌 2004.10.19
멀티 파일다운로드 꼼수 (새창버전) [1] 행복한고니 2004.10.14
배열 스크립트 종합선물세트 행복한고니 2004.10.12
체크박스를 이미지로 사용하기 [7] 행복한고니 2004.10.10
Javascript + 플래시 칼라피커 [6] 행복한고니 2004.10.08
자바스크립트로 구현한 윈도우 스타일.. [2] 크래닉스 2004.10.07
웹페이지에서 단축키 사용 (Firefox) [2] 전종화 2004.10.07
멀티 파일다운로드 꽁수로 구현하기 [1] 행복한고니 2004.10.07
슬라이딩 메뉴 자바스크립트 [3] 행복한고니 2004.09.21
메뉴 추가 삭제 수정시 쓰면 좋을것 같네요 - 출처: http://www.happyscript.com/ [1] 예뜨락 2004.09.17
내홈피 즐겨찾기/새로고침/앞/뒤로가기 [4] 팡이 2004.09.13
요일마다 바뀌는 상태바 인사 말~ [2] Kasis 2004.09.13