본문 바로가기
Programming/Java

Javascript를 넣은 회원가입창 만들기

[Javascript]

정적인 HTML에서 동적 변경하는 부분 담당

 

객체 기반 스크립트 언어. node.js 프레임워크 사용하면 서버 프로그래밍도 可

특징: HTML 내용 속성 변경 可, 이벤트 처리 후 사용자와 상호작용 可, 서버와 실시간 통신 기능 可,

 

현황: Vue(뷰), 앵귤러(Angular), 리액트(React)와 같은 프론트앤드 프레임워크, Node.js기반 서버프로그래밍 영역도 可

 

 

 

 


 

 

 

모든 HTML 오류는 오타 때문이다! 오타 찾기가 중요함!

<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<title>회원가입 </title>
<head>
<style>  /* css 정의 */
	h2 {
		border-radius: 5px;
		background-color: wheat;
		text-align: center;
		padding: 15px 0;
	}
	#regform {
		padding: 15px 20px;
		border-radius: 19px;
		margin: auto;
		width: 50%;
		background-color: SandyBrown;
	}
</style>

<script>  // 자바 스크립트 정의
	function signUp() {
		alert("정말로 가입하시겠습니까?");
		document.getElementById("regform").style.display = "none";
		document.getElementById("rname").innerHTML = document.form1.name.value;
		document.getElementById("remail").innerHTML = document.form1.email.value;
		document.getElementById("result").setAttribute("style","display: block; background-color:KhaKi;");
	}
</script>	
</head>

<body> <!-- HTML 정의 -->
<h2> 회원 가입 </h2>
<hr>
 <div id="regform">
	 <form name="form1">
		 <label>이름</label><br>
		 <input type="text" name ="name" size = "40"><br>
		 <hr>
		 <label>이메일</label><br>
		 <input type="email" name ="email" size = "40"><br>
		 <button type="button" onClick="signUp()">가입</button>
	 </form>
</div>

<div id="result" class = "result">
	<h3> 가입정보 </h3>
	<hr>
	이름: <span id="rname"></span><br>
	이메일: <span id="remail"></span><br>
</div>

<script> // 자바스크립트 정의
document.getElementById("result").style.display = "none";
</sciprt>


</body>
</html>

 

이클립스에서 실행할 때는 다음과 같이 웹 브라우저로 연다. (html파일이므로 서버 연결 필요없다!)

 

 

 

 

이를 시행하면 다음과 같다.

 

 

 

회원가입

회원 가입







가입정보


이름:
이메일:

 

 

 

 

 

그리고 

 

to do list 입력해서 하는 것

<!DOCTYPE html>
<html>
<head>
	
<meta charset="UTF-8">
<title>스크립트 사용</title>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

<script>
	function addItem() {
		// 입력값 읽어서 todo에 저장
		let todo = document.getElementById("Item");
		// <ul> 요소 참조하여 list에 저장
		let list = document.getElementById("todolist");
		// 새 <li> 생성하여 listitem에 저장
		let listitem = document.createElement("li");
		
		listitem.className = "d-flex list-group-item list-group-item-action list-group-item-warning";
		// 각 요소에 닫기 버튼 생성
		let xbtn = document.createElement("button");
		
		xbtn.className = "btn-close ms-auto";   // 부트스트랩 클래스 적용

		xbtn.onclick = function(e) {  // close 버튼 이벤트 즉시 실행함수
			let pnode = e.target.parentNode;
			list.removeChild(pnode);
		}
		listitem.innerText = todo.value;
		listitem.appendChild(xbtn);   // li 버튼 추가		
		list.appendChild(listitem); // ul요소에 li요소 추가
		//입력 칸 비우기. 포커스 이동
		todo.value = "";
		todo.focus();
	}
</script>

</head>
<body> <!-- 이번엔 모든 요소를 자바스크립트로 처리하여 코드 간소화를 할 것이므로 form 사용하지않는다. -->
<div class ="container bg-warning shadow mx-auto mt-5 p-5 w-75">
	<h2>My Todo App</h2>
	<hr>
	
	<div class = "input-group">
		<input id = "Item" class = "form-control" type="text" placeholder= "할 일을 입력하세요">
		<button type="button" class="btn btn-primary" onclick="addItem()">할 일 추가</button>
	</div>	
	
	<hr>
	<ul id="todolist" class="list-group"></ul>
</div>

</body>
</html>

실행이 제대로 안되면 오타가 있다는 뜻이다. 오타는 chatGPT에 물어봐서 빨리 찾아내자.

이를 구현하면 아래와 같이 실행된다.

 

 

스크립트 사용

My Todo App



    728x90
    반응형

    'Programming > Java' 카테고리의 다른 글

    useBean을 이용한 JSP 계산기 파일 단순화  (0) 2023.10.19
    Servlet  (0) 2023.10.19
    [Java web] Hello JSP  (2) 2023.10.17
    Interface (인터페이스)  (0) 2023.10.17
    Inheritance(상속)  (1) 2023.10.16