me@helium 8 years ago
parent
commit
352e37ba45
2 changed files with 62 additions and 0 deletions
  1. 2 0
      chatServer/server.js
  2. 60 0
      module.md

+ 2 - 0
chatServer/server.js

@@ -30,6 +30,8 @@ server = http.createServer(function(req, res){
                         delete data.func;
                         data.timestamp = timestamp;
                         var result = {data: RPCFuncs[func](data), nextMessageId: history.length};
+                        console.log("answer on request:");
+                        console.log(JSON.stringify(result));
                         res.end(JSON.stringify(result));
                     }
                     else {

+ 60 - 0
module.md

@@ -0,0 +1,60 @@
+# Задание на модуль по jQuery
+
+## createTable
+
+Напишите функцию `createTable`, которая добавляет в элемент таблицу. Таблица состоит из двух колонок, в левой отображаются ключи, в правой - значения
+переданного объекта.
+
+```html
+...
+<body>
+    <div id='tableContainer'>
+    </div>
+</body>
+</html>
+```
+
+```javascript
+var notebook = {
+    brand:  "Dell",
+    family: "AlienWare",
+    model:  "100500",
+};
+
+createTable("#tableContainer", notebook);
+```
+
+Должна получиться таблица в элементе с селектором `#tableContainer`:
+
+| brand         | Dell          |
+| family        | AlienWare     |
+| model         | 100500        |
+
+Используйте средства jQuery.
+
+## createEdiTable
+
+Сделайте возможность редактирования колонки со значениями (второй колонки таблицы):
+- При двойном клике на ячейке прямо в ячейке таблицы создается тэг `<input>`
+- При повторном двойном клике поле ввода удаляется и новое значение появляется как текст в ячейке.
+
+## createSavingTable
+
+- При повторном двойном клике, измененные данные из поля ввода должны обновляться в объекте (например в переменной `notebook`)
+- Проверяйте типы данных в исходном объекте, и, в зависимости от типа данных или других условий создавайте разные поля ввода `<input type=`:
+  - `text` для строк
+  - `number` для чисел
+  - `datetime` для объектов `Date`. Используйте `instanceof` для проверки.
+  - `password` для полей с ключем `password`
+
+## saveObj
+
+Напишите функцию `saveObj`, которая будет отправлять любой объект на сервер по определенному адресу методом POST.
+
+```javascript
+saveObj("http://server.com/endpoint", notebook, callback); //сохранили ноутбук, callback должен быть вызван после отправки
+```
+
+## outputResponse
+
+При вызове `callback` функции `saveObj` в `callback` первым параметром передается ответ от сервера. Отобразите его, используя createTable.