관리 메뉴

I LOVE EJ

체크박스값 여러개 받아서 넘겨주기 - 완성 본문

Web publishing/JavaScript

체크박스값 여러개 받아서 넘겨주기 - 완성

BeOne 2007. 10. 15. 15:08

체크박스가 여러개일때 페이지 분할등으로 인해

한페이지에 체크박스가 1개인 경우가 발생하면

체크값을 넘겨주지 못하는 문제 해결


<script language = "javascript">  //체크한 값 한번에 삭제하기 예제


function del_all(){

 

if (confirm("선택한 데이터를 삭제하시겠습니까?")){
j = document.list.check_del.length;    //페이지 상의 체크박스의 총개수, 2개이상일때만 체크가

                                                        된다. 1개일때는 undefined.. 그래서 1개일때의 값을

                                                        넘겨주지 못하는 문제 발생.
t = document.list.elements.length;     //체크박스의 갯수를 반환하는데 체크박스가 한개도 없을때

                                                       기본값이 2로 나온다. (이유는 아직 모름 ㅡㅡ; )

if (t==3) //체크박스가 1개 일때          //그래서 1개일때는 3으로 체크를 해서 문제 해결 ^^;
{
if (document.list.check_del.checked == true)
{k = document.list.check_del.value;
document.list.action="01_del.asp?sel_seq="+k;
document.list.submit();}
else
{alert("삭제할 데이터를 선택하십시오.");}
}

 

else //체크박스가 2개 이상 일때
{
var k = new Array();
m = 0;
for(var i=0; i<j; i++){
if (document.list.check_del[i].checked == true)
{k[m] = document.list.check_del[i].value;
m = m+1;}
}
if(k > "")
{
document.list.action="01_del_all.asp?sel_data="+k;
document.list.submit();
}
else
{alert("삭제할 데이터를 선택하십시오.");}
}

}}

</script>




 <form name="list"  method="post" >

 <input type="checkbox" name="check_del" value="<%=rs("seq")%>" >

                             //체크박스 - 루프로 반복되면 자동으로 배열이 된다. check_del[i]

 <img src="../img/btn_del.gif" onclick="javascript:del_all();" style="cursor:hand"> //함수호출