Frontend Mentor Newsletter Sign-Up Built With HTML/CSS/JS

Solution retrospective
I initially structured the project with HTML, but faced difficulties when moving to CSS and incorporating JavaScript. After some styling, I decided to focus on getting the JavaScript logic working with the HTML first. I used display properties to hide sections for testing and saved most of the CSS styling for last. In future projects, I'll prioritize accessibility in my HTML by using both IDs and classes for better distinction between styling and logic. I'll also employ debugging methods to ensure functionality.
What challenges did you encounter, and how did you overcome them?This project really stressed the importance of figuring out a proper work flow. I kept finding myself going back and forth between the styling and the logic and HTML having to make proper adjustments for each change that was made in any of the code. I'm definitely coming back from this with a better idea of how to approach building all aspects of the project.
What specific areas of your project would you like help with?One thing that bugs me is that the error message logic works when there is no input in the input box, but when you type anything in other than an email, a built in pop-up windows displays saying "Please include an '@' in the email address. 'input' is missing an '@'.". I'm not sure if this is because i set the input type="email"
, or something else. It's just annoying because i built a regex to check for more than just an '@'. Unless someone can give me any tips, I might come back in the future and get rid of the regex just to see if the validation function still works, and change the input type
for testing.
Please log in to post a comment
Log in with GitHubCommunity feedback
- @Alex-Archer-I
Hey!
Yes, the thing which bothered you is the default browser validation logic. You can get rid of it by adding
novalidate
attribute to the form, but in general it is considered bad to accessibility.I'm sorry I doesn't have much time right now to look thorough through your code, but why there is a success message instead of the form in the mobile version?
Anyway, I have no doubt that you did great work as always =)
Marked as helpful - P@MikDra1
Nice one @Dylan 😁😁😁
If you want to improve your solution you should take care about the email that get's rendered in the success message in bold ✉
Good job and keep going 😀😁😉
- @A-noob-in-Coding
Hi there,
For email validation, custom made regex would be better as you can strongly check for any wrong emails as input
For reference I used this regex
const emailRegex = /^[a-zA-Z0-9.]+@[^\s@]+\.[^\s@]+$/;
Join our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord