배성훤
2004-06-14 09:50:25.0
4
11550

[js] jsp에서 selected 사용 대체 스크립트


<%@ page contentType="text/html; charset=euc-kr" %>
<% String a=request.getParameter("a");%>
<% String b=request.getParameter("b");%>
<% String c=request.getParameter("c");%>
<%! //메서드선언
//기존에 공통모듈로 쓰던 메서드형식
    public static String isSelected(String value1, String value2) {

        if (value1 == null || value2 == null)
            return "";

        return value1.equals(value2) ? "SELECTED" : "";
    }
%>
<html>
<head>
<title> select박스에 값이 같은걸 select해주기</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function viewthesource(){
    window.location="view-source:"+window.location
}
//-->
</SCRIPT>
</head>
<body>

기존에 jsp에서 폼전송시에 select박스에 값이 같은걸 select해주기 위해서는 <BR>
각각 값을 비교해서 같다면 selected를 넣어주었습니다.<BR>
만약 option태그가 10개라면 10번의 비교를 해서 선택을 해줬던 것입니다.<BR>
물론 이 로직을 공통모듈로 만들어서 이용했었지요. 하지만!!!!<BR><BR>
다음과 같은 스크립트를 쓰면 간단히! 해결됩니다!!!
<BR><BR><BR>

<form name=test METHOD=POST  action="select.jsp">
스크립트 적용 예시<select name="a">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<script>test.a.value = '<%=a%>';</script><!--스크립트로 선택값을 한번에 잡아준다.-->
넘어온값:<%=a%><BR>

스크립트 비적용 예시<select name="b">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
넘어온값:<%=b%><BR>


기존 메세드 사용 예시<select name="c"><!--매번 메서드로 비교하여 선택값을 잡아야 한다.-->
<option value="1" <%=isSelected(c,"1")%>>1</option>
<option value="2" <%=isSelected(c,"2")%>>2</option>
<option value="3" <%=isSelected(c,"3")%>>3</option>
<option value="4" <%=isSelected(c,"4")%>>4</option>
<option value="5" <%=isSelected(c,"5")%>>5</option>
</select>
넘어온값:<%=c%><BR>

<INPUT TYPE="submit">

</form>

<BR>
<input type="button" onClick="viewthesource()" value="페이지소스보기버튼">

</body>
</html>

0
0
  • 댓글 4

  • yulisys
    2004-06-14 10:03:49.0
    저는 그냥 method 로 따로 빼지 않고 그 구문을 필요할때마다 넣었는데, 따로 빼는게 보기에는 좋을 것 같네요.. 감사합니다.
    0
  • 배성훤
    2004-06-14 10:21:47.0
    이글의 주제는
    <script>test.a.value = '<%=a%>';</script>
    부분입니다. 스크립트로 대체할수 있다는 거지요..
    0
  • siasia
    2004-06-14 12:54:39.0
    음... 전원래 일케써왔는데요 -_-; 내가 이상했던건가?
    단점이라면 만약 엉뚱한값이 왔을경우 공백이 선택되는 경우가...
    0
  • yulisys
    2004-06-15 09:10:13.0
    아.. 제가 잘못 봤던것이군요.. <select> 를 js 로 접근해서 값을 저장하는 방법은 브라우저 버전끼리 차이가 없을까요? 저도 저런 방법으로 간간히 쓰기는 하는데, 왠지 찜찜해서 필요할 경우에만 사용하게 되더군요.
    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.