diff --git a/lessons/05-client-jquery-ajax/homework/package.json b/lessons/05-client-jquery-ajax/homework/package.json new file mode 100644 index 00000000..55d7d38c --- /dev/null +++ b/lessons/05-client-jquery-ajax/homework/package.json @@ -0,0 +1,19 @@ +{ + "name": "homework", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "body-parser": "^1.15.0", + "cookie-parser": "^1.4.1", + "express": "^4.13.4", + "express-handlebars": "^3.0.0", + "mongoose": "^4.4.4", + "morgan": "^1.7.0" + } +} diff --git a/lessons/05-client-jquery-ajax/homework/public/javascripts/main.js b/lessons/05-client-jquery-ajax/homework/public/javascripts/main.js index 5cbe4061..1803f1f8 100644 --- a/lessons/05-client-jquery-ajax/homework/public/javascripts/main.js +++ b/lessons/05-client-jquery-ajax/homework/public/javascripts/main.js @@ -16,21 +16,20 @@ var onError = function(data, status) { $form.submit(function(event) { event.preventDefault(); - formData = $form.serialize(); + // var formData = $form.serialize(); // if this works with how you've set up the form, awesome -- otherwise, the .find(...).val() method below works too var name = $form.find("[name='name']").val(); var price = $form.find("[name='price']").val(); - var inStock = $form.find("[name='inStock']").val(); - var customerName = $form.find("[name='customerName']").val(); + var inStock = $form.find("[name='inStock']").val(); + var customerName = $form.find("[name='customerName']").val(); var price = $form.find("[value ='customerName']").val(); - formData = { + var formData = { name: name, price: price, inStock: inStock } -}); $.get("getIngredient", formData) .done(onSuccess) .error(onError); @@ -42,7 +41,7 @@ $form.submit(function(event) { ////////////////////////////////////// /*var $inStock; var $outOfStock; -var $editIngr; +var $editIngr; var $addIngr; */ diff --git a/lessons/05-client-jquery-ajax/homework/public/javascripts/mainIngredients.js b/lessons/05-client-jquery-ajax/homework/public/javascripts/mainIngredients.js index 1fbef916..e1d40e65 100644 --- a/lessons/05-client-jquery-ajax/homework/public/javascripts/mainIngredients.js +++ b/lessons/05-client-jquery-ajax/homework/public/javascripts/mainIngredients.js @@ -4,7 +4,7 @@ var onSuccess = function(data, status) { //var img = ""; if (!data) { alert("Error!"); - } else { + } else { $("#result").html(); } @@ -21,8 +21,8 @@ $form.submit(function(event) { var name = $form.find("[name='name']").val(); var price = $form.find("[name='price']").val(); - var inStock = $form.find("[name='inStock']").val(); - var customerName = $form.find("[name='customerName']").val(); + var inStock = $form.find("[name='inStock']").val(); + var customerName = $form.find("[name='customerName']").val(); var price = $form.find("[value ='customerName']").val(); formData = { @@ -100,4 +100,4 @@ $ingredients.click(function () { .done(onSuccess) .error(onError); }); -*/ \ No newline at end of file +*/ diff --git a/lessons/05-client-jquery-ajax/homework/public/javascripts/mainOrder.js b/lessons/05-client-jquery-ajax/homework/public/javascripts/mainOrder.js index 2df7adbb..bfbd0009 100644 --- a/lessons/05-client-jquery-ajax/homework/public/javascripts/mainOrder.js +++ b/lessons/05-client-jquery-ajax/homework/public/javascripts/mainOrder.js @@ -1,7 +1,20 @@ +// I'm going to focus my comments on this file, and the others will be similar. var $order = $("form.orderForm"); var $ingredient = $("input.options"); -var onSuccess = function (data, status) { +var ingredientList = []; +var sumTotal = 0 +var orderToSubmit +// Usually it's best practice to put global variables at the top of a file + +// I'm giving the success & error handlers unique names so they don't conflict with the similar handlers in other javascript files... +// clientside JavaScript globals aren't scoped to files, they're scoped to all of your clientside js (not like Python) +var orderOnSuccess = function (data, status) { + // The success callback is a good place to reset the global variables -- before you had them "after" you bound the $order.submit handler, + // but JavaScript files only execute sequentially when your browser loads an HTML page (because they're linked in