CHECKBOX로 여러개 선택한 값 받기
CHECKBOX로 여러개 선택한 값 받기
우리는 살아가면서 여러가지 선택의 기로에 놓이게 된다. 이걸 선택할지 저걸 선택할지... ㅋㅋㅋ
자 우선 다음을 살펴보도록 합시다.
문제 1. 당신이 가장 좋아하는 것을 고르시오(복수개 선택가능) <- 고복수는 양동근... ㅋㅋㅋ
남자 여자 돈 술 담배
오락 웹서핑 디자인 농구 축구
위의 내용은 다음과 같습니다.
<form name="form1" method="post" action="/exam/checkbox.jsp">
<p>
<input type="checkbox" name="item" value="1">남자
<input type="checkbox" name="item" value="2">여자
<input type="checkbox" name="item" value="3">돈
<input type="checkbox" name="item" value="4">술
<input type="checkbox" name="item" value="5">담배<br>
<input type="checkbox" name="item" value="6">오락
<input type="checkbox" name="item" value="7">웹서핑
<input type="checkbox" name="item" value="8">디자인
<input type="checkbox" name="item" value="9">농구
<input type="checkbox" name="item" value="10">축구</p>
<p><input type="submit" value="확인"> <input type="reset" value="초기화"></p>
</form>
자 유심히 보면 chckbox의 name이 item으로 통일된 것을 볼 수 있죠.
배열로 넘기겠다는 의미입니다. 확인을 눌러볼까요? 선택된 값의 번호가 보이시죠?
뒷단소스입니다.
<%@ page contentType="text/html; charset=euc-kr"%>
<%
String[] items = request.getParameterValues("item");
try{
// 선택한 값이 없으면 back.
if(items == null || items.length <= 0){
out.println("<script>alert(''선택한 항목이 없습니다.'');history.back();</script>");
return;
}
for(int i=0; i<items.length; i++){
out.println("선택한 값 : " + items[i] + "<br>");
}
out.println("<a href=''javascript:history.back();''>뒤로</a>");
}catch(Exception e){
System.out.println(e);
}
%>
여기서 핵심은 request.getParameter()가 아닌 request.getParameterValues()입니다.
그래서 배열로 item값을 받았고 그리고 배열크기까지 for문을 돌려서 값을 받은 것입니다.