본문 바로가기
CLASS/SERVLET

#3-3 / html-> html 값 전달

by eungSe__ 2024. 5. 30.

- html -> html 값 전송시 form method="post" 는 사용 불가 (post : 백엔드로 전달할 시에만 핸들링 가능)

  ❗ only get 사용

- get 방식 : url 뒤에 ?파라미터값 붙음

 

⚡ 타이틀

* step1.html
<body>
	<form method="get" id="frm" action="./step2.html">
		고객명 : <input type="text" name="user"><br>
		<input type="checkbox" name="sms" value="Y">SMS 수신동의(선택)<br>
		<input type="checkbox" name="event" value="Y">이벤트 수신동의<br>
		<input type="checkbox" name="kakao" value="Y">카카오톡 푸시알림<br>
		<input type="button" value="전송" onclick="gopage()">
	</form>
</body>
<script type="text/javascript">
	function gopage(){
		frm.submit();
	}
</script>


🔽

* step2.html

- decodeURIComponent(값) : 파라미터에 한글을 가져올시 깨지므로 decode로 출력
  ( decodeURIComponent  : js / decodeURI : es

- getElementsByName : name은 기본이 원시배열 형태를 구성함 ex) abc[0].value

<body>
	<form id="frm">
		<input type="hidden" name="sms" value="N">
		<input type="hidden" name="event" value="N">
		<input type="hidden" name="kakao" value="N">
	
		고객명 : <input type="text" name="person" readonly><br>
		SMS 수신 여부 : <span id="sms">N</span> <br>
		이벤트 수신 여부 : <span id="event">N</span> <br>
		카카토톡 수신 여부 : <span id="kakao">N</span>
	</form>
</body>
<script type="text/javascript">
	//javascript에서 url 값 중 URI(파라미터)값만 확인하는 함수
	var data = window.location.search; //한글 인식이 어렵다
	
	//배열로 출력 : 값을 몇개 체크하느냐에 따라 배열의 갯수 달라짐(& 기호는 사라짐)
	var data_sp = data.split("&"); 
	
	var nm = data_sp[0].split("="); 
	//readonly input에 값 넣음(한글이면 깨지기 때문에 decode해서 넣어줌)
	frm.person.value = decodeURIComponent(nm[1]);
	
	if(data_sp.length > 1){ //체크박스 하나라도 체크
		var f;
		//첫밴째배열[0]은 체크박스가 아니므로 이미 처리 완료 -> 그 외의 배열 검토
		for(f=1; f<data_sp.length; f++){ 
			var arr = data_sp[f].split("=");
			
			//step1의 name과 step2의 id값을 동일하게 맞춤
			  //data_sp의 ["email","Y"] 중 1번째 값과 일치하는 id값에 innerHTML 
		  	document.getElementById(arr[0]).innerHTML = arr[1];
		  	document.getElementsByName(arr[0])[0].value = arr[1];
		}
	}
	
</script>

 

 

'CLASS > SERVLET' 카테고리의 다른 글

#4-2 / 동의 체크박스 Map 배열로 받기  (0) 2024.05.31
#4-1 / html에서 java class로 값 전달,로그인 예제  (0) 2024.05.31
#3-2 / 암호화(security)  (0) 2024.05.30
#3-1 / form 예제  (0) 2024.05.30
#2-4 / double form  (0) 2024.05.29