>웹 프론트엔드 >JS 튜토리얼 >뉴스레터 가입 양식 웹사이트 구축

뉴스레터 가입 양식 웹사이트 구축

王林
王林원래의
2024-08-31 06:34:33426검색

Build a Newsletter Signup Form Website

소개

안녕하세요, 개발자 여러분! 저의 최신 프로젝트인 뉴스레터 가입 양식을 공유하게 되어 기쁩니다. 이 프로젝트는 HTML, CSS 및 JavaScript를 사용하여 뉴스레터용 사용자 이메일 주소를 수집하는 기능적이고 시각적으로 매력적인 양식을 만들려는 사람들에게 적합합니다. 이는 프런트엔드 개발 기술을 향상시키고 구독 관리를 위한 유용한 도구를 구축할 수 있는 좋은 방법입니다.

프로젝트 개요

뉴스레터 가입 양식은 사용자가 뉴스레터를 구독할 수 있도록 설계된 웹 애플리케이션입니다. 양식에는 이메일 확인이 포함되어 있으며 구독 성공 시 성공 메시지가 표시됩니다. 깔끔하고 인터랙티브한 디자인을 갖춘 이 프로젝트는 실용적이고 사용자 친화적인 형태를 만드는 방법을 보여줍니다.

특징

  • 이메일 확인: 제출하기 전에 사용자가 유효한 이메일 주소를 입력했는지 확인합니다.
  • 성공 메시지: 구독 성공 후 확인 메시지를 표시합니다.
  • 반응형 디자인: 양식은 완벽하게 반응하므로 데스크톱과 모바일 장치 모두에서 멋지게 보입니다.

사용된 기술

  • HTML: 뉴스레터 가입 양식의 구조를 제공합니다.
  • CSS: 시각적으로 매력적이고 사용자 친화적으로 양식 스타일을 지정합니다.
  • JavaScript: 이메일 확인을 처리하고 사용자 입력에 따라 성공 메시지를 표시합니다.

프로젝트 구조

프로젝트 구조 개요는 다음과 같습니다.

Newsletter-Signup-Form/
├── index.html
├── style.css
└── script.js
  • index.html: 뉴스레터 가입 양식의 HTML 구조가 포함되어 있습니다.
  • style.css: CSS 스타일을 포함하여 현대적이고 반응이 빠른 디자인을 만듭니다.
  • script.js: 대화형 요소를 관리하고 이메일 확인 및 성공 메시지를 처리합니다.

설치

프로젝트를 시작하려면 다음 단계를 따르세요.

  1. 저장소 복제:

    git clone https://github.com/abhishekgurjar-in/Newsletter-Signup-Form.git
    
  2. 프로젝트 디렉토리 열기:

    cd Newsletter-Signup-Form
    
  3. 프로젝트 실행:

    • 뉴스레터 가입 양식을 보려면 웹 브라우저에서 index.html 파일을 엽니다.

용법

  1. 웹사이트를 엽니다 웹 브라우저에서
  2. 이메일 주소를 입력란에 입력하세요.
  3. 구독 버튼을 클릭하여 이메일을 제출하세요.
  4. 구독 성공 후 표시되는 성공 메시지를 확인하세요.

코드 설명

HTML

index.html 파일은 입력 필드, 버튼, 결과 표시 영역을 포함하여 뉴스레터 가입 양식의 구조를 정의합니다. 다음은 일부 내용입니다.

8b05045a5be5764f313ed5b9168a17e6
49099650ebdc5f3125501fa170048923
93f0f5c25f18dab9d176bd4f6de5d30e
  1fc2df4564f5324148703df3b6ed50c1
  4f2fb0231f24e8aef524fc9bf9b9874f
  b2386ffb911b14667cb8f0f91ea547a7Newsletter Signup Form6e916e0f7d1e588d4f442bf645aedb2f
  a565cfc5beb6e6a8c6ba642934395a39
  468dcf7b0ee61aef03af1a1fbe6725fc
  5de102113aede4703971b3b780c58efb2cacc6d41bbb37262a98f745aa00fbf0
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
  4883ec0eb33c31828b7c767c806e14c7
    8f9e4409b06fde1ff1d3a80f075ca0ed
      641e0de5ce410c86c3a093b6b324b956
        4a249f0d628e2318394fd9b75b4636b1Stay Updated!473f0a7621bec819994bb5020d29372a
        e388a4556c0f65e1904146cc1a846beeJoin our mailing list to receive updates and promotions.94b3e26ee717c64999d7867364b1b4a3
        9c1c3883d21d24a82adc94e97e20713b
          e388a4556c0f65e1904146cc1a846beeEmail Address94b3e26ee717c64999d7867364b1b4a3
          f50061566a3685479c7d3b0d5d936071Valid Email Required94b3e26ee717c64999d7867364b1b4a3
        16b28748ea4df4d9c2150843fecfba68
        ff9c23ada1bcecdd1a0fb5d5a0f18437
          281932a54b782c94d20ff8498db12891
          169513d93b292361c90c726f0b3ca858
        f5a47148e367a6035fd7a2faa965022e
      16b28748ea4df4d9c2150843fecfba68
      b33314c2aece6845b814e24426768d58
        28ffba8a7704d9573fe0b1c02c12376a
      16b28748ea4df4d9c2150843fecfba68
    16b28748ea4df4d9c2150843fecfba68
  16b28748ea4df4d9c2150843fecfba68
  ffd6ba4147bda351239915f463e46e38
    e388a4556c0f65e1904146cc1a846beeMade with ❤️ by Abhishek Gurjar94b3e26ee717c64999d7867364b1b4a3
  16b28748ea4df4d9c2150843fecfba68
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

CSS

style.css 파일은 뉴스레터 가입 양식의 스타일을 지정하여 매력적이고 사용하기 쉽게 만듭니다. 다음은 몇 가지 주요 스타일입니다.

* {
  box-sizing: border-box;
}

body {
  font-family: Roboto, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #36384e;
}

.container {
  max-width: 1240px;
  margin: 0 auto;
}

.box {
  gap: 20px;
  max-width: 70%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
  margin-inline: auto;
  background-color: white;
  border-radius: 15px;
}

.left-box {
  margin: 20px;
  width: 50%;
}

.left-box h1 {
  font-size: 50px;
}

.left-box p {
  font-size: 20px;
}

.email-text {
  display: flex;
  align-items: center;
  justify-content: center;
}

.success {
  display: inline;
}

.success-icon {
  width: 27px;
}

.email-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.not-valid {
  color: red;
  display: none;
}

input {
  font-size: 20px;
  width: 100%;
  height: 50px;
  border-radius: 15px;
  border: 2px solid black;
}

.button {
  font-size: 20px;
  width: 100%;
  border-radius: 15px;
  background-color: #242742;
  color: white;
}

.button:hover {
  background-color: #ff644b;
  cursor: pointer;
}

.right-box {
  width: 50%;
  margin: 0 20px;
}

.right-box img {
  width: 100%;
}

.footer {
  color: white;
  margin: 30px;
  text-align: center;
}

@media (max-width: 1200px) {
  .box {
    flex-direction: column-reverse;
  }
}

자바스크립트

script.js 파일에는 이메일 확인을 처리하고 성공 메시지를 표시하기 위한 로직이 포함되어 있습니다. 다음은 일부 내용입니다.

const submitBtn = document.getElementsByClassName("button")[0];
const emailInput = document.getElementsByClassName("email-input")[0];
const error = document.getElementsByClassName("not-valid")[0];
const box = document.getElementsByClassName("box")[0];

submitBtn.addEventListener("click", (event) => {
  event.preventDefault();
  const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  const isValid = emailPattern.test(emailInput.value);

  if (!isValid) {
    error.style.display = "block";
  } else {
    error.style.display = "none"; // Hide the error message if email is valid
    box.style.display = "none";

    // Create and show the message
    const message = document.createElement("div");
    message.className = "message";
    message.innerHTML = `
      938598788b30f248187d965791fed44f
        d06cde061393e4022fbb4cd7cf443567
        4a249f0d628e2318394fd9b75b4636b1Thanks for subscribing!473f0a7621bec819994bb5020d29372a
        e388a4556c0f65e1904146cc1a846bee
          A confirmation email has been sent to ${emailInput.value}. Please open
          it and click the button inside to confirm your subscription.
        94b3e26ee717c64999d7867364b1b4a3
        3ce38003a7ba6de8604d8636abf55d8fDismiss message2e9b454fa8428549ca2e64dfac4625cd
      16b28748ea4df4d9c2150843fecfba68`;

    // Append the message to the body
    document.body.appendChild(message);

    // Select the close button from the newly created message element
    const closeBtn = message.querySelector(".closeBtn");
    closeBtn.addEventListener("click", () => {
      message.remove();
      location.reload(); // Reload the website
    });
  }
});

라이브 데모

여기에서 뉴스레터 가입 양식 프로젝트의 라이브 데모를 확인할 수 있습니다.

결론

뉴스레터 가입 양식을 만드는 것은 프런트엔드 개발 기술을 적용하여 기능적이고 매력적인 도구를 구축할 수 있는 훌륭한 방법이었습니다. 이 프로젝트는 이메일 구독 관리에 사용할 수 있는 대화형 및 반응형 양식을 만드는 방법을 보여줍니다. 여러분이 자신만의 도구를 만들고 웹 개발 기술을 향상시키는 데 영감을 주기를 바랍니다. 즐거운 코딩하세요!

크레딧

이 프로젝트는 웹 개발에 대한 지속적인 학습 여정의 일환으로 개발되었습니다.

작가

  • 아비셰크 구자르
    • GitHub 프로필

위 내용은 뉴스레터 가입 양식 웹사이트 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.