ホームページ >ウェブフロントエンド >jsチュートリアル >ニュースレター登録フォーム Web サイトを構築する

ニュースレター登録フォーム Web サイトを構築する

王林
王林オリジナル
2024-08-31 06:34:33413ブラウズ

Build a Newsletter Signup Form Website

導入

開発者の皆さん、こんにちは!私の最新プロジェクトであるニュースレター登録フォームを共有できることを嬉しく思います。このプロジェクトは、HTML、CSS、JavaScript を使用してニュースレター用のユーザーの電子メール アドレスを収集する、機能的で視覚的に魅力的なフォームを作成したい人に最適です。これは、フロントエンド開発スキルを強化し、サブスクリプションを管理するための便利なツールを構築するための優れた方法です。

プロジェクト概要

ニュースレター登録フォームは、ユーザーがニュースレターを購読できるように設計された Web アプリケーションです。フォームには電子メール検証が含まれており、購読が成功すると成功メッセージが表示されます。このプロジェクトは、クリーンでインタラクティブなデザインを使用して、実用的でユーザーフレンドリーなフォームを作成する方法を示します。

特徴

  • 電子メールの検証: 送信前にユーザーが有効な電子メール アドレスを入力していることを確認します。
  • 成功メッセージ: 購読が成功した後に確認メッセージが表示されます。
  • レスポンシブ デザイン: フォームは完全にレスポンシブで、デスクトップとモバイル デバイスの両方で見栄えが良くなります。

使用されている技術

  • 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. プロジェクトを実行します:

    • Web ブラウザでindex.html ファイルを開いて、ニュースレター登録フォームを表示します。

使用法

  1. Web ブラウザで Web サイトを開きます
  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;
  }
}

JavaScript

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
    });
  }
});

ライブデモ

ここでニュースレター サインアップ フォーム プロジェクトのライブ デモをチェックできます。

結論

ニュースレター登録フォームの作成は、フロントエンド開発スキルを適用して機能的で魅力的なツールを構築するための優れた方法でした。このプロジェクトでは、電子メール購読の管理に使用できる対話型で応答性の高いフォームを作成する方法を示します。この記事が、独自のツールを構築し、Web 開発スキルを向上させるきっかけになれば幸いです。コーディングを楽しんでください!

クレジット

このプロジェクトは、Web 開発における私の継続的な学習の一環として開発されました。

著者

  • アビシェク・グルジャル
    • GitHub プロフィール

以上がニュースレター登録フォーム Web サイトを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。