- "Listen" for when the user
clicks the#signinbutton,displaythe#modalwindow - "Listen" for when the user
clicks the#closebutton,display(or fade out) out the#modalwindow - "Listen" for when the user
clicks the#submitbutton, add an.errorclass to both<input>elements- First apply the class to each elementById
- Then try applying to all
inputusing a traversal loop of some kind
- Remove the
.errorclass from any individual<input>when the cursor give itfocus- First try writing one event listener/handler per input element
- Then do this by writing only ONE event listener/handler for all input elements and applying it using a traversal loop
- Modify the
#submitelement fromtype="button"totype="submit". When the user triggers asubmit, event, prevent the form from proceeding with it's default behavior. - On submit, only add the
.errorclass to the elements that have avalueof "" (blank, meaning any text will prevent an error)- What happens if the user just adding spaces to the field? Find a function that will trim off the white spaces in a field to validate it.
- Prototype a validation by checking the two fields on
submit. If both are "valid" (not blank), close the#modal, remove the#signinand appendtextContentto the#helloheading so it reads "Welcome, [USERNAME]", in a font that's half the current size- Consider the various ways we could validate both fields, including the use of a boolean
varas a switch
- Consider the various ways we could validate both fields, including the use of a boolean
- Try validating a field by adding/removing
.errorimmediately after the cursor leaves one of the individual<input>(rather than on submit)- Consider this can be added individually to elements, but do so by writing one event listener/callback function using a loop
- Allow the user to click the
#modalto close itself- Consider what happens when two elements that are overlapping are both waiting for a click: Click events will "bubble" (propagate) up the DOM tree. How could we stop an event from triggering on it's parents?
- This will likely require a bit of web searching to solve