Overview
Movie Nachos includes several form components for user authentication and communication. All forms use localStorage for data persistence and display success/error messages.Login Form
HTML Structure
Fromlogin.html:43-84:
Login Form Classes
Container Classes
Container Classes
Structure:
.login-register-section- Section wrapper.form-container- Form container.forms- Forms wrapper.form.login- Login form wrapper
Input Field Classes
Input Field Classes
Classes:
.input-field- Input wrapper with icon.password- Password input styling.form-button- Submit button container
fa-user) and lock (fa-lock) iconsAdditional Elements
Additional Elements
Classes:
.form-title- Form heading.checkbox-text- Checkbox and link container.checkbox-content- Checkbox wrapper.form-text- Text and link styling.login-signup- Sign up link container.signup-link- Sign up link styling
#user-not-found- Error message (hidden by default)#successfully-logged-in- Success message (hidden by default)
Login JavaScript
Fromlogin.js:1-27:
The login form checks credentials against users stored in localStorage and displays appropriate success/error messages.
Register Form
HTML Structure
Fromregister.html:43-90:
Register Form Fields
Input Fields
Input Fields
The registration form includes four input fields:
- Username -
fa-usericon - Email -
fa-envelopeicon - Password -
fa-unlock-alticon - Password Confirmation -
fa-lockicon
Form Elements
Form Elements
Wrapper:
.form.signupAdditional Elements:- Terms acceptance checkbox (
#accept-terms) - Success message (
#successully-registered) - Login link (
.login-link)
Register JavaScript
Fromregister.js:1-23:
The registration form saves user data to localStorage, displays a success message, and resets the form.
Newsletter Subscribe Form
HTML Structure
Fromindex.html:373-377 (in footer):
Subscribe Form Classes
.subscribe-form- Form wrapper.subscribe-input- Email input field.subscribe-button- Submit button#successully-subscribed- Success message (hidden by default)
Subscribe JavaScript
Fromscript.js:31-49:
Contact Form
HTML Structure
Fromindex.html:405-413 (in footer):
Contact Form Classes
#contact-us-form- Form ID.footer-contact-us-container- Input containers.contact-us-input- Email input.footer-contact-us-textarea- Message textarea (3 rows).footer-contact-us-button- Send button#message-sent- Success message (hidden by default)
Contact JavaScript
Fromscript.js:51-70:
Common Form Patterns
Data Storage
Data Storage
All forms use localStorage to persist data:
- Users:
localStorage.getItem('users') - Subscriptions:
localStorage.getItem('subscribed_emails') - Messages:
localStorage.getItem('messages')
Form Handling
Form Handling
All forms follow the same pattern:
- Prevent default form submission
- Extract form values
- Retrieve existing data from localStorage
- Add new data
- Save to localStorage
- Display success message
- Reset form (except login)
Validation
Validation
HTML5 validation is used with the
required attribute on all input fields. No custom JavaScript validation is implemented.All forms use Font Awesome icons for visual enhancement and include proper accessibility labels.