웹마스터 팁



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

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

세이나 네이버 혹은 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>
제목 글쓴이 날짜
Admin 페이지에서 사이트맵 삭제가 안될 때 file FontBox 2012.10.06
[애드온]글 , 댓글 삭제시 휴지통으로 보내기 [13] file 민채아빠 2013.01.16
방명록 모듈 1.5.1.1에서 비회원이 남긴글 삭제하기 조슈아킴 2013.02.14
스팸 회원 삭제시 동시에 관련 글 / 댓글 자동 삭제 + 스팸IP 등록기능 구현방법입니다 [20] sejin7940 2013.05.22
스케치북5 sns버튼에서 요즘 삭제하기 [6] 도라미 2013.07.07
XE 위키 댓글 삭제 오류수정 [1] 뒤뒤 2013.08.03
SSL 환경에서 메시지톡 쪽지 보내기, 친구 찾기, 메시지 삭제 등 안될 때 [2] Arisae 2013.09.02
[수정] 댓글 삭제 간략화하기 [9] XE만세 2013.11.26
중복레코드 검색 및 삭제 ByteCMC 2014.02.10
MySQL Replication 사용중 Binary Log 삭제 하기 박희망찬삶 2014.07.29
관리자설정-> 관리자 메뉴설정 에서 삭제가 안 되는 현상 수정하는 방법 [1] sejin7940 2014.08.11
업글타일 모듈에서 fail_to_trash가 뜨지만 삭제는 정상으로 진행된다면 SeungXE 2014.10.11
phpmyadmin 설치뒤 setup 스크립트는 삭제해야 [1] YJSoft 2014.11.12
파일첨부 된 글을 게시글 이동시, 사용자정의 값이 전부 삭제되는 버그 패치 [5] sejin7940 2014.11.20
파일 삭제시 (글 수정시 파일삭제 / 파일관리에서 삭제 등) 사용자정의값이 삭제되지 않도록 패치 [3] sejin7940 2014.12.11
게시글을 삭제하면 해당 글 내부에 첨부된 첨부파일이 서버에서 사라지지 않는 버그 수정법 [6] sejin7940 2015.01.05
에디터에서 URL 클릭시 "http://" 삭제하는 방법 [2] 콜롬보. 2015.03.13