Validation

Bands

Make a web app to track your favorite bands.

(If you were logged in as a student, you could submit an exercise solution, and get some feedback.)

Quotes

Make an quotes app, with an add form.

(If you were logged in as a student, you could submit an exercise solution, and get some feedback.)

Course score (input, validation, flags)

The story so far

We have a template. To make a new page, we copy-and-paste the template. The template has JS to load reusable HTML for the navbar and footer.

Use onclick to tell a browser what code to run when an HTML element is clicked.

Code is broken into pieces, triggered by events. Use variables to coordinate the pieces of code.

Big Idea

Variables coordinate code fragments

Your code is broken into fragments, across events. Variables keep everything coordinated.

Keywords: JavaScript, Events

Planning

We are going to start planning our projects.

Fake news (multipage, library)

The story so far

You have a BS template with some JS to load a navbar, and footer. You know how to make input fields, and buttons. You know how to tie JS code to events. You know how to validate. You know how to use variables to coordinate what happens across events. You know how to persist data, and erase persisted data when needed.

This lesson adds a few new things:

  • An app with multiple pages.
  • Generating HTML with JavaScript.
  • Adding a library of utility functions copied from the web

Requirements

Goals

Our app will make a fake news feed.

Dog pack

The story so far

Persisting record sets

There's a problem with the course data app in the previous lesson. It doesn't remember anything. We created a record set when the page loads:

(function($) {
    //Initialize course catalog.
    var catalog = [
        {
            id: 42,
            title: "Web apps for happy dogs",
            maxEnrollment: 40,
            location: "Monty Hall 301"
        },
        ...
    ];

It was lost when the page ended.

We want something like this:

bc.