Hello, developers! I’m excited to share my latest project: aNewsletter Signup Form. This project is perfect for those looking to create a functional and visually appealing form that collects user email addresses for newsletters using HTML, CSS, and JavaScript. It’s a great way to enhance your frontend development skills and build a useful tool for managing subscriptions.
TheNewsletter Signup Formis a web application designed to allow users to subscribe to newsletters. The form includes email validation and displays a success message upon successful subscription. With a clean and interactive design, this project demonstrates how to create a practical and user-friendly form.
Here’s an overview of the project structure:
Newsletter-Signup-Form/ ├── index.html ├── style.css └── script.js
To get started with the project, follow these steps:
Clone the repository:
git clone https://github.com/abhishekgurjar-in/Newsletter-Signup-Form.git
Open the project directory:
cd Newsletter-Signup-Form
Run the project:
The index.html file defines the structure of the Newsletter Signup Form, including input fields, buttons, and result display areas. Here’s a snippet:
Newsletter Signup Form Stay Updated!
Join our mailing list to receive updates and promotions.
Email Address
Valid Email Required
The style.css file styles the Newsletter Signup Form, making it attractive and easy to use. Below are some key styles:
* { 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; } }
The script.js file contains the logic for handling email validation and displaying the success message. Here’s a snippet:
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 = ``; // 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 }); } });
You can check out the live demo of the Newsletter Signup Form project here.
Creating the Newsletter Signup Form was an excellent way to apply frontend development skills to build a functional and engaging tool. This project demonstrates how to create an interactive and responsive form that can be used for managing email subscriptions. I hope it inspires you to build your own tools and enhance your web development skills. Happy coding!
This project was developed as part of my continuous learning journey in web development.
以上是建立时事通讯注册表单网站的详细内容。更多信息请关注PHP中文网其他相关文章!