일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 선택적조인
- JSON
- jsr 296
- JDOM
- Eclipse
- 전자정부프레임워크
- dock
- oracle
- Ajax
- Struts
- node.js
- jQuery
- MFC
- appspresso
- GPS
- PHP
- rowspan
- swingx
- ibsheet
- iBATIS
- 가우스
- tomcat
- Android
- sencha touch
- MySQL
- Google Map
- Spring
- PLSQL
- WebLogic
- phonegap
- Today
- Total
Where The Streets Have No Name
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문을 돌려서 값을 받은 것입니다.