開發者們大家好!我很高興分享我的最新項目:時事通訊註冊表。該專案非常適合那些希望創建一個實用且具有視覺吸引力的表單的人,該表單可以使用 HTML、CSS 和 JavaScript 收集新聞通訊的使用者電子郵件地址。這是增強前端開發技能和建立管理訂閱的有用工具的好方法。
新聞通訊註冊表是一個網絡應用程序,旨在允許用戶訂閱新聞通訊。該表單包括電子郵件驗證,並在成功訂閱後顯示成功訊息。本專案採用簡潔且互動的設計,示範如何建立實用且使用者友善的表單。
以下是項目結構的概述:
Newsletter-Signup-Form/ ├── index.html ├── style.css └── script.js
要開始該項目,請按照以下步驟操作:
複製儲存庫:
git clone https://github.com/abhishekgurjar-in/Newsletter-Signup-Form.git
開啟專案目錄:
cd Newsletter-Signup-Form
運行項目:
index.html 檔案定義電子報註冊表單的結構,包括輸入欄位、按鈕和結果顯示區域。這是一個片段:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Newsletter Signup Form</title> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,regular,500,700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="style.css"> <script src="./script.js" defer></script> </head> <body> <div class="container"> <div class="box"> <div class="left-box"> <h1>Stay Updated!</h1> <p>Join our mailing list to receive updates and promotions.</p> <div class="email-text"> <p>Email Address</p> <p class="not-valid">Valid Email Required</p> </div> <form> <input type="email" class="email-input" placeholder="email@company.com"> <input type="submit" class="button" value="Subscribe to Newsletter"> </form> </div> <div class="right-box"> <img src="./assets/images/illustration-sign-up-desktop.svg" alt=""> </div> </div> </div> <div class="footer"> <p>Made with ❤️ by Abhishek Gurjar</p> </div> </body> </html>
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 = ` <div class="message-content"> <img src="./assets/images/icon-success.svg" alt=""> <h1>Thanks for subscribing!</h1> <p> A confirmation email has been sent to ${emailInput.value}. Please open it and click the button inside to confirm your subscription. </p> <h2 class="closeBtn">Dismiss message</h2> </div>`; // 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 開發方面持續學習之旅的一部分。
以上是建立時事通訊註冊表單網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!