Javascript-форум (https://javascript.ru/forum/)
-   Учебные материалы (https://javascript.ru/forum/study/)
-   -   Не работает пример из книги (https://javascript.ru/forum/study/72656-ne-rabotaet-primer-iz-knigi.html)

skela 15.02.2018 12:44

Не работает пример из книги
 
скрипт
(function (windows){
'use strict';
var App = window.App || {};
var $ = window.jQuery;

function FormHandler(selector) {
if (!selector){
throw new Error('No selector provided');
}

this.$formElement = $(selector);
if (this.$formElement.length===0){
throw new Error('Не найден элемент: '+ selector);
}
}

FormHandler.prototype.addSubmitHandler = function () {
console.log('Setting submit handler for form');
this.$formElement.on('submit', function(event) {
event.preventDefault();

var data = {};
$(this).serializeArray().forEach(function (item){
data[item.name] = item.value;
console.log(item.name+ ' is '+item.value);
});
console.log(data);
});
};

App.FormHandler = FormHandler;
window.App = App;
})(window);

В консоле
пишу
var fh=new App.FormHandler('[data-coffe-order="form"]');
получается вот такая ошибка

http://joxi.ru/D2PgXYoTdgPZXm

skela 15.02.2018 12:47

http://joxi.ru/Y2LlRYoin4PYl2

Nexus 15.02.2018 13:10

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Nexus 15.02.2018 13:11

Судя по первому скрину у вас jq не подключена в момент выполнения.

skela 15.02.2018 13:39

а как это видно?

Nexus 15.02.2018 13:42

Цитата:

Сообщение от skela
а как это видно?

Глазами.

skela 15.02.2018 14:02

А как это можно исправить?

Nexus 15.02.2018 14:03

skela, перед вашим скриптом в html вставьте это:
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

j0hnik 15.02.2018 14:04

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

воткнуть в <head>

skela 15.02.2018 14:11

исправил


Часовой пояс GMT +3, время: 17:28.