Mini Project : Mini Project. 사용자 정보 입력받기 (Javascript :1일차 과제)+@

2025. 3. 31. 23:16·프로젝트

초기 코드

<!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>

주요 개선 사항:

  1. HTML 폼을 사용한 사용자 입력: prompt() 대신, 사용자가 텍스트 필드에 직접 정보를 입력할 수 있는 폼을 추가했습니다. 이는 사용자 경험을 더 직관적이고 편리하게 만듭니다.
  2. 스타일 개선:
    • 전체 배경색과 컨텐츠 영역을 세련되게 스타일링했습니다.
    • input 필드와 버튼에 스타일을 적용해 클릭 시 시각적으로 좀 더 반응을 보이게 했습니다.
    • flex를 사용하여 중앙에 정렬되도록 했습니다.
  3. 정보 출력 형식 개선: 사용자가 입력한 정보를 더 명확하고 보기 좋게 출력했습니다.

실전에서의 활용:

  • 폼 사용: 실제 웹 애플리케이션에서는 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
'프로젝트' 카테고리의 다른 글
  • Mini Project : Mini Project. 회원가입폼만들기 (Javascript :2일차 과제)
  • Mini Project : Mini Project. 사용자 정보 입력받기 (Javascript :1일차 과제)
  • Mini Project : Mini Project. 사용자 정보 입력받기 (Javascript :1일차 과제)
  • Mini Project : 나만의 채팅방만들기 (CSS:2일차 과제)UPGRADE
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (657) N
      • Python (32)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11) N
      • 특강 (34) N
      • 기술블로그 (36) N
      • 기술블로그-Fastapi편 (20) N
      • 기술블로그-Django편 (152) N
      • 기술블로그-Flask편 (35)
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (72)
      • Fastapi (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Mini Project : Mini Project. 사용자 정보 입력받기 (Javascript :1일차 과제)+@
상단으로

티스토리툴바