WEB Archive

[HTML] form.submit() 활용한 구구단 출력

universedevelope 2024. 8. 22. 08:25

 Send05.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Send05.html</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript">

	function formChange(obj)
	{
		//alert("1");
		
		//확인
		//alert(obj);
		//--==>> [object HTMLFormElement]
		
		// ※ obj 변수(이 함수의 매개변수)에는 form 객체가 저장되어 있다.
		//    필요에 따라 전송하기 전에 검증 절차를 추가하는 것이 가능하다.
		
		obj.submit();
		// 『폼.submit()』    ≒ 폼.reset()
		// 함수 호출을 통해 form 객체의 데이터를 서버로
		// 전송하는 것이 가능하다.
		// 1단선택 Receive05.jsp?dan=1  →   dan 값 전송완료
	}
</script>
</head>
<body>

<!-- ○ 데이터 송수신 실습 05 
         - 구구단 결과를 출력하는 JSP 페이지(Receive05.jsp)를 구성한다.
         - 원하는 단수를 입력받아 화면에 출력해주는 형태의 페이지로 구현한다.
         - 단, submit 버튼 없이 이벤트 처리를 할 수 있도록 한다.
         
           단 수 선택 [ 1단 ▼ ] → select
                        2단
                        3단
                         :
                        9단
          - select 선택 시
            해당 단의 구구단 내용을 출력하는 JSP 페이지(Receive05.jsp)로
            데이터를 전달하여 내용을 구성할 수 있도록 한다.
            
          - 사용자 최초 요청 페이지 주소
            http://localhost:8090/WebApp07/Send05.html 
            
      ○ Send05.html
         Receive05.jsp
-->
<div>
	<h1> 데이터 송수신 실습 05</h1>
	<hr>
</div>

<div>
	<form action="Receive05.jsp" method="get">
		단 수 선택 ▶
		<select id="dan" name="dan"  onchange="formChange(this.form)">
			<option>▼ 선택 ▼</option>
			<option id="1" value="1"> 1단 </option>
			<option id="2" value="2"> 2단 </option>
			<option id="3" value="3"> 3단 </option>
			<option id="4" value="4"> 4단 </option>
			<option id="5" value="5"> 5단 </option>
			<option id="6" value="6"> 6단 </option>
			<option id="7" value="7"> 7단 </option>
			<option id="8" value="8"> 8단 </option>
			<option id="9" value="9"> 9단 </option>
		</select>
	</form>
</div>     
</body>
</html>

 

 

 

Receive05.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%
	// 스크립트 릿
	String dan = request.getParameter("dan");
	int dansu = 0;
	String result = "";
	
	try
	{
		dansu = Integer.parseInt(dan);
		for(int i=1; i<=9; i++)
		{
			result += String.format("%d * %d = %d<br>", dansu, i, (dansu*i));
		}
		
	}
	catch(Exception e)
	{
		System.out.println(e.toString());
	}
	
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Receive05.jsp</title>
</head>
<body>
<div>
	<h1>데이터 송수신 실습 05</h1>
	<hr>
</div>

<div>
	<h2>구구단 결과 확인</h2>
	<div>
		<%=result %>
	</div>
</div>
</body>
</html>
728x90