초기 코드
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" contect="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> 사용자 정보 입력받고 출력하기</title>
<style>
#hobby{
color: red;
}
</style>
</head>
<body>
<h1 id="name"></h1>
<p id="hobby"></p>
<p id="song"></p>
<script>
const nameElement = document.querySelector("#name")
let name = prompt("당신의 이름은?")
nameElement.textContent = name
const hobbyElement = document.querySelector("#hobby")
let hobby = prompt("당신의 취미는?")
hobbyElement.textContent = `취미는 ${hobby}입니다!`
document.querySelector("#song")
.textContent = `좋아하는 곡은 ${prompt("좋아하는 곡은?")}입니다!`
</script>
</body>
</html>
발전시킨 코드:
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> 사용자 정보 입력받고 출력하기</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f7f7f7;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
background-color: #fff;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
padding: 30px;
text-align: center;
width: 300px;
}
h1 {
color: #333;
font-size: 24px;
}
p {
font-size: 18px;
color: #555;
}
#hobby {
color: red;
}
input[type="text"], input[type="submit"] {
padding: 10px;
margin: 10px;
border-radius: 5px;
border: 1px solid #ccc;
width: 100%;
}
input[type="submit"] {
background-color: #4CAF50;
color: white;
cursor: pointer;
}
input[type="submit"]:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<div class="container">
<h1 id="name"></h1>
<p id="hobby"></p>
<p id="song"></p>
<form id="userForm">
<input type="text" id="userName" placeholder="이름을 입력하세요" required>
<input type="text" id="userHobby" placeholder="취미를 입력하세요" required>
<input type="text" id="userSong" placeholder="좋아하는 곡을 입력하세요" required>
<input type="submit" value="정보 입력 완료">
</form>
</div>
<script>
const nameElement = document.querySelector("#name");
const hobbyElement = document.querySelector("#hobby");
const songElement = document.querySelector("#song");
const form = document.querySelector("#userForm");
form.addEventListener("submit", function(event) {
event.preventDefault();
const userName = document.querySelector("#userName").value;
const userHobby = document.querySelector("#userHobby").value;
const userSong = document.querySelector("#userSong").value;
// 사용자 입력값을 화면에 출력
nameElement.textContent = `이름: ${userName}`;
hobbyElement.textContent = `취미: ${userHobby}`;
songElement.textContent = `좋아하는 곡: ${userSong}`;
// 입력 폼 초기화
form.reset();
});
</script>
</body>
</html>
주요 개선 사항:
- HTML 폼을 사용한 사용자 입력: prompt() 대신, 사용자가 텍스트 필드에 직접 정보를 입력할 수 있는 폼을 추가했습니다. 이는 사용자 경험을 더 직관적이고 편리하게 만듭니다.
- 스타일 개선:
- 전체 배경색과 컨텐츠 영역을 세련되게 스타일링했습니다.
- input 필드와 버튼에 스타일을 적용해 클릭 시 시각적으로 좀 더 반응을 보이게 했습니다.
- flex를 사용하여 중앙에 정렬되도록 했습니다.
- 정보 출력 형식 개선: 사용자가 입력한 정보를 더 명확하고 보기 좋게 출력했습니다.
실전에서의 활용:
- 폼 사용: 실제 웹 애플리케이션에서는 prompt()보다는 HTML 폼을 통해 사용자의 입력을 받는 방식이 일반적입니다. 이 코드는 사용자로 하여금 더 자연스럽고 직관적으로 정보를 입력하도록 돕습니다.
- 스타일링: 웹 디자인에서 UI/UX를 고려하여, 사용자가 더 편안하게 웹 페이지를 이용할 수 있도록 하는 것은 매우 중요합니다.
'프로젝트' 카테고리의 다른 글
Mini Project : Mini Project. 회원가입폼만들기 (Javascript :2일차 과제) (0) | 2025.04.01 |
---|---|
Mini Project : Mini Project. 사용자 정보 입력받기 (Javascript :1일차 과제) (0) | 2025.04.01 |
Mini Project : Mini Project. 사용자 정보 입력받기 (Javascript :1일차 과제) (0) | 2025.03.31 |
Mini Project : 나만의 채팅방만들기 (CSS:2일차 과제)UPGRADE (0) | 2025.03.31 |
Mini Project : 나만의 채팅방만들기 (CSS:2일차 과제)Original (0) | 2025.03.31 |