// client-side js // run by the browser each time your view template is loaded console.log('hello world :o'); // our default array of dreams const dreams = [ 'Find and count some sheep', 'Climb a really tall mountain', 'Wash the dishes' ]; // define variables that reference elements on our page const dreamsList = document.getElementById('dreams'); const dreamsForm = document.forms[0]; const dreamInput = dreamsForm.elements['dream']; // a helper function that creates a list item for a given dream const appendNewDream = function(dream) { const newListItem = document.createElement('li'); newListItem.innerHTML = dream; dreamsList.appendChild(newListItem); } // iterate through every dream and add it to our page dreams.forEach( function(dream) { appendNewDream(dream); }); // listen for the form to be submitted and add a new dream when it is dreamsForm.onsubmit = function(event) { // stop our form submission from refreshing the page event.preventDefault(); // get dream value and add it to the list dreams.push(dreamInput.value); appendNewDream(dreamInput.value); // reset form dreamInput.value = ''; dreamInput.focus(); };