Jump to content

cyklop77

User
  • Posts

    1,770
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by cyklop77

  1. c mysql удобно работать при помощи phpMyAdmin. скажите пожалуйста, существуют ли подобные утилиты для работы с localstorage браузера? я сейчас смотрю содержимое localstorage при помощи console.log, но это неудобный способ
  2. админы, удалите пожалуйста тему. в фидле всё работает, проблема где-то в дебрях моего проекта
  3. помогите пожалуйста понять почему в backbone push работает неочевидным способом пример1 (не рабочий): APP.Graph = Backbone.Model.extend({ defaults: { title: undefined, dots: new Array() } )} var graph = new APP.Graph(); graph.attributes.dots.push([1, 1]); консоль выводит сообщение об ошибке: Uncaught TypeError: this.model.attributes.dots.push is not a function пример 2 (не рабочий): APP.Graph = Backbone.Model.extend({ defaults: { title: undefined, dots: new Array() } )} var graph = new APP.Graph(); var dots = this.model.get('dots'); dots.push([1, 2]); this.model.set({'dots': dots}); консоль выводит сообщение об ошибке: Uncaught TypeError: this.model.attributes.dots.push is not a function пример 3 (рабочий): APP.Graph = Backbone.Model.extend({ defaults: { title: undefined, dots: new Array() } )} var graph = new APP.Graph(); var arr = []; this.model.set({dots: arr}); var dots = this.model.get('dots'); dots.push([1, 2]); this.model.set({'dots': dots}); ошибок нет. пуш сработал
  4. помогите пожалуйста добавить массив в массив: defaults = { title: 'qwerty', dots: new array() } defaults.dots.push([1 , 2]); console.log(defaults); консоль выводит такую ошибку: https://jsfiddle.net/bwz2u6vc/ в будущем планируется, что dots будет содержать большой набор массивиков: [1, 2], [1, 3], [1, 32], [21, 2], .......
  5. ребята, научите пожалуйста как хранить справочные данные в объекте есть одностраничное веб-приложение на backbone. смысл его в том, что пользователь может создавать графики и заполнять их точками. первую часть я сделал. вот конструктор модели для графика: {APP.Graph = Backbone.Model.extend({ defaults: { title: undefined, yMax: undefined, yMin: undefined, yPeriod: undefined, xMax: undefined, xMin: undefined, xPeriod: undefined, dots: [] } }); как видите, у каждого графика есть название и список характеристик для вертикальной и горизонтальной оси. так же есть свойство dots, которое является массивом. в нём я планирую хранить набор точек. формат такой: [ [23, 23], [23, 23], [23, 23], [23, 23] ] вопрос. правильнй ли я выбрал способ для хранения данных о наборе точек? может быть уже существует типовое решение для такой задачи? дело ещё в том, что пока для хранения любых данных я использую localstorage(это механизм подобный cookie, который предоставляет современный браузер). но потом я планирую использовать mysql. не возникнет ли в этом случае проблем с переходом? всё таки в БД для подобных целей используется ещё одна таблица(справочник)
  6. ...я конечно понимаю, что простой такой. но всё таки, если кому не лень покопаться в куче кода, то подскажите пожалуйста почему в моём виджете localstorage не сохраняет данные после обновления странички браузера вот популярный в интернетах пример: http://html/js/EXAMPLES/bb_todos/ он же на гитхабе: https://github.com/tastejs/todomvc/tree/master/examples/backbone в нём всё работает как нужно. то есть если закрыть вкладку браузера и открыть снова, то данные не сбросятся. а вот моя попытка сделать подобный виджет: prozaik.16mb.com/works/weekend_projects/graph_kalinin/ гитхаб: https://github.com/zlodiak/graph_kalinin_3 я делал по аналогии, но в моём случае после обновления страницы(или закрытия вкладки) данные сбрасываются. и я не знаю в чём причина
  7. сложность в том, что приложение может вырасти. или им заняться другой человек
  8. подскажите пожалуйста как поступать в следующей ситуации есть метод объекта: EnterKeyHandler: function (e) { if (e.which === 13) { this.editEnd(); } } здесь цифра 13 это код клавиши 'enter'. в приложении я её использую только один раз, только в этом месте. стоит ли выносить её в глобальную переменную?
  9. помогите пожалуйста починить скрипт в блоке инициализации я определил несколько переменных объекта, которые указывают на определённые элементы. в одном из меодов я при участии этих переменных хотел бы изменить видимость элементов. но не получается код: window.APP = window.APP || {}; APP.GraphLinkView = Backbone.View.extend({ initialize: function() { this.editFieldElem = this.$el.find('.edit_Field'); this.titleElem = this.$el.find('.graph_title'); this.removeIconElem = this.$el.find('.glyphicon-remove'); this.editIconElem = this.$el.find('.glyphicon-edit'); console.log(this.editFieldElem); console.log(this.titleElem); console.log(this.removeIconElem); console.log(this.editIconElem); }, template: _.template($('#graphsListItemTemplate').html()), tagName: 'div', className: 'list-group-item', render: function() { this.$el.html(this.template({ title: 'qwerty', cid: 1 })); $('#content').html(this.$el); return this; }, events:{ 'blur .edit_field': 'editEnd', 'click .glyphicon-edit' : 'editBegin' }, editEnd: function() { console.log('e end'); this.editFieldElem.find('.edit_field').hide(); this.titleElem.find('.graph_title').show(); this.editIconElem.find('.glyphicon-edit').show(); }, editBegin: function() { console.log('e beg'); this.editFieldElem.find('.edit_field').show().focus(); this.titleElem.find('.graph_title').hide(); this.editIconElem.find('.glyphicon-edit').hide(); } }); new APP.GraphLinkView().render();
  10. скажите пожалуйста стоит ли выносить подобные простые функции в хелпер или это параноя? changeColorFields: function(selector, borderColor) { $(selector).css({ border: '1px solid ' + borderColor }); } у меня в программе эта функция используется раз 10
  11. помогите пожалуйста исправить скрипт проблема в том, что при клике на #button в консоль не выводится "hello world". а должно бы потому что я повесил событие так: events:{ 'click #button' : 'createGraph' },
  12. помогите пожалуйста решить проблему есть такой объект: defaults = { title: undefined, yMax: undefined, yMin: undefined, yPeriod: undefined, xMax: undefined, xMin: undefined, xPeriod: undefined, dots: {} } мне нужно сформировать массив, состоящий из свойств, которые имеют тип "не объект". то есть должен получиться такой массив: [title, yMax, yMin, yPeriod, xMax, xMin, xPeriod]
  13. спасибо. это помогло var dateCorrect = model['date'].replace(/\s/ig, 'T');
  14. другой формат я получить не смогу, поэтому и обратился за помощью
  15. помогите пожалуйста разбить строку даты по составляющим пример. в chrome он работает(в консоль выводятся значения), а в firefox он не работает(в консоль выводятся ошибочки)
  16. памятка дизайнеру мир станет добрее, если каждый дизайнер хотя бы раз прочтёт (хотя бы)это(
  17. ...может быть кроме меня это никому смешным не покажется, но эта запись в редмайне от заказчика однозначно сделала мой день ps: и это ещё при том, что этот чел просит вставить символы перевода строки в разметку между слайдами карусели... я по его просьбе сначала BR вставил, но он просит именно \n
  18. помогите пожалуйста решить проблему часто использую jquery-функцию $.ajax. поэтому решил вынести её в отдельный объект следующим образом: var ajaxRequest = function(dataObj, requestFileName) { $.ajax({ url: 'js/project/ajax/' + requestFileName, type: "post", data: dataObj, success: function(json) { console.log('--' + JSON.parse(json)); return JSON.parse(json); } }); }; и затем могу хоть 100 раз обращаться к ней из любого места программы следующим лаконичный способом: var dotsObj = new ajaxRequest({graph_id: graph_id}, 'getDots.php'); проблема в том, что JS асинхронен. то есть ajaxRequest только ещё получает данные с сервера, а сценарий выполняется дальше и соответственно уже обрабатывает dotsObj (а он ещё не получен) подскажите пожалуйста как можно заставить сценарий ждать ответа ajaxRequest. например в той же функции $.ajax блок succes как раз ждёт когда данные придут с сервера. мне нужен такой же, но велосипед)
  19. помогите пожалуйста повернуть каждую цифру на 90 градусов. результат должен выглядеть так. у меня пока получается только так вообще я пытаюсь нарисовать систему координат. с вертикальной осью проблем нет
  20. а мне и нужно только количество корневых элементов console.log({ 123 : ""}.length); VM3248:2 undefined ну и что что ассоциативный. в любом случае это просто свойство объекта
  21. помогите пожалуйста разобраться 1 пример js-скрипт делает ajax-запрос и получает ответ в виде массива. вывести в консоль количество элементов в массиве через .length получается $.ajax({ url: 'js/project/ajax/getDots.php', type: "post", data:{graph_id: graph_id}, success: function(json) { json = JSON.parse(json); console.dir(json); console.log(json.length); } }); $sql = 'SELECT * FROM `dots` WHERE `graphs_id` = ' . $_POST["graph_id"]; $result = mysql_query($sql); // or die(mysql_error()); $response = array(); if($result){ while($row = mysql_fetch_array($result)) { $unit = array(); $unit["id"] = $row["id"]; $unit["x_coord"] = $row["x_coord"]; $unit["y_coord"] = $row["y_coord"]; $unit["decsription"] = $row["decsription"]; $response[] = $unit; }; } else{ $response = 'error'; } print(json_encode($response, JSON_UNESCAPED_UNICODE)); 2 пример js-скрипт делает ajax-запрос и получает ответ в виде многомерного массива. вывести в консоль количество элементов в массиве через .length не получается $.ajax({ url: 'js/project/ajax/getDots.php', type: "post", data:{graph_id: graph_id}, success: function(json) { json = JSON.parse(json); console.dir(json); console.log(json.length); } }); $sql = 'SELECT * FROM `dots` WHERE `graphs_id` = ' . $_POST["graph_id"]; $result = mysql_query($sql); // or die(mysql_error()); $response = array(); if($result){ while($row = mysql_fetch_array($result)) { $unit = array(); $unit["id"] = $row["id"]; $unit["x_coord"] = $row["x_coord"]; $unit["y_coord"] = $row["y_coord"]; $unit["decsription"] = $row["decsription"]; $response[$row["id"]] = $unit; }; } else{ $response = 'error'; } print(json_encode($response, JSON_UNESCAPED_UNICODE)); не пойму почему в одном случае через length можно получить размер массива, а в другом - нет
  22. ребятушки, а ещё не подскажете почему кодировка слетает? у меня всё работало, но после того как я раскидал код по разным файлам, ответ ajax вместо кириллических символов выводит коды. здесь я в целях отладки сделал 2 вывода: <?php header("Content-type: text/html; charset=utf-8"); error_reporting(0); require('connectDB.php'); $connect = mysql_connect($host,$user,$password); mysql_query("SET NAMES utf8"); mysql_select_db($database); $sql = 'SELECT `title` FROM `graphs`'; $result = mysql_query($sql); // or die(mysql_error()); $response = array(); if($result){ while($row = mysql_fetch_array($result)) { $response[] = $row["title"]; }; } else{ $response = 'error'; } print_r($response); print(json_encode($response)); ?> в результате при прямом обращении к скрипту браузер выводит: Array ( [0] => ыва [1] => ввв [2] => ываываывавы ) ["\u044b\u0432\u0430","\u0432\u0432\u0432","\u044b\u0432\u0430\u044b\u0432\u0430\u044b\u0432\u0430\u0432\u044b"] само-собой пробовал все файлы пересохранять в utf8 без бом
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy