Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
krvsa,
krvsa
Значит дело не в бабине. (с)
Придется тебе искать факторы, которые "мешают" скриптам или еще чему-то реализовывать задуманное.

Вот нашлось время и разобрался.
Оказывается, загружать в начале при загрузки страницы - сработал не правильно...
<html>
    <body onload="InitDB();">
...

А вот уже в конце страницы - уже все нормально.
.....
</div>
<script type="text/javascript">
  window.onload = InitDB();   
</script>  
</body>
</html>
30 июл 19, 12:29    [21937761]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13312
Valeriu, сейчас более уместно использовать специальный метод для установки обработчиков. ;)
https://msiter.ru/tutorials/javascript/js_htmldom_eventlistener
31 июл 19, 07:33    [21938479]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
kalin
Member

Откуда:
Сообщений: 316
Valeriu
krvsa,
krvsa
Значит дело не в бабине. (с)
Придется тебе искать факторы, которые "мешают" скриптам или еще чему-то реализовывать задуманное.

Вот нашлось время и разобрался.
Оказывается, загружать в начале при загрузки страницы - сработал не правильно...
<html>
    <body onload="InitDB();">
...

А вот уже в конце страницы - уже все нормально.
.....
</div>
<script type="text/javascript">
  window.onload = InitDB();   
</script>  
</body>
</html>


В полноценном Backend такое "не прокатит". Данный метод хорош только для FrontEnd.
10 сен 19, 14:08    [21967745]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
kalin,
Буду признателен если подскажите как правильно это делать.
У меня есть некоторые проблемы именно после вызова этой функции..
11 сен 19, 10:52    [21968350]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13312
Это
Valeriu
    <body onload="InitDB();">

И вот это
Valeriu
<script type="text/javascript">
  window.onload = InitDB();   
</script>  

Совсем разные вещи...

Аналогом к первому может быть вот такой вариант
<script type="text/javascript">
  window.onload = InitDB;   
</script>  
11 сен 19, 12:21    [21968419]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13312
Или вовсе по современному...
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
window.addEventListener('load',function(){
	alert('Test');
});
</script>
</head>
<body>
</body>
</html>
11 сен 19, 12:56    [21968458]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
Добрый день.

Не хотел засорять и поднять другую тему.
Вопрос.
Получаю из М - JSON массив...
+
[["04/11/2019",1,1286],["04/11/2019",1,1311],["04/11/2019",1,1333],["04/11/2019",1,1336],["04/11/2019",1,1337],["04/11/2019",1,1340],["04/11/2019",1,1359],["04/11/2019",1,1360],["04/11/2019",1,2151],["04/11/2019",1,2199],["04/11/2019",1,2405],["04/11/2019",2,2133],["04/11/2019",2,2136],["04/11/2019",2,2139],["04/11/2019",2,2150],["04/11/2019",2,2168],["04/11/2019",2,2177],["04/11/2019",2,2190],["04/11/2019",2,2402],["04/11/2019",2,2404],["04/11/2019",2,2408],["04/11/2019",2,2411],["04/11/2019",2,2421],["04/11/2019",3,1265],["04/11/2019",3,1266],["04/11/2019",3,1272],["04/11/2019",3,1300],["04/11/2019",3,1305],["04/11/2019",3,1306],["04/11/2019",3,1318],["04/11/2019",3,1329],["04/11/2019",3,1335],["04/11/2019",3,1342],["04/11/2019",3,1343],["04/11/2019",3,1357],["04/11/2019",3,1371],["04/11/2019",4,2142],["04/11/2019",4,2155],["04/11/2019",4,2156],["04/11/2019",4,2173],["04/11/2019",4,2189],["04/11/2019",4,2191],["04/11/2019",4,2192],["04/11/2019",4,2400],["04/11/2019",4,2406],["04/11/2019",4,2407],["04/11/2019",4,2409],["04/11/2019",4,2413],["04/11/2019",4,2415],["04/11/2019",4,2417],["04/11/2019",4,2423],["04/11/2019",4,2432],["04/11/2019",4,2433],["04/11/2019",4,2434],["04/11/2019",4,2435],["04/11/2019",4,2436],["04/11/2019",5,2176],["04/11/2019",5,2186],["04/11/2019",5,2194],["04/11/2019",5,2403],["04/11/2019",5,2412],["04/11/2019",5,2414],["04/11/2019",5,2420],["04/11/2019",5,2422],["04/11/2019",5,2430],["04/11/2019",7,3799],["04/11/2019",7,3829],["04/11/2019",7,3862],["04/11/2019",7,3888],["04/11/2019",7,3892],["04/11/2019",7,3895],["04/11/2019",7,3907],["04/11/2019",8,2147],["04/11/2019",8,2160],["04/11/2019",8,2161],["04/11/2019",8,2162],["04/11/2019",8,2163],["04/11/2019",8,2164],["04/11/2019",8,2166],["04/11/2019",8,2167],["04/11/2019",8,2169],["04/11/2019",8,2170],["04/11/2019",8,2171],["04/11/2019",8,2172],["04/11/2019",8,2174],["04/11/2019",8,2178],["04/11/2019",8,2179],["04/11/2019",8,2181],["04/11/2019",8,2182],["04/11/2019",8,2185],["04/11/2019",8,2401],["04/11/2019",8,2418],["04/11/2019",8,2419],["04/11/2019",9,3814],["04/11/2019",9,3815],["04/11/2019",9,3858],["04/11/2019",9,3881],["04/11/2019",9,3883],["04/11/2019",9,3902],["04/11/2019",9,3909],["04/11/2019",9,3910],["04/11/2019",10,1],["04/11/2019",10,1210],["04/11/2019",10,1274],["04/11/2019",10,1275]]

+
function ArrayTABLE()  {
  var myTable = document.getElementById("table");
  var rowCount = myTable.rows.length;
  var date = document.getElementById('GPSday').value;
  
  for (var x=rowCount-1; x>0; x--) {
     myTable.deleteRow(x);
     }
 
  var adrip = document.getElementById("ipnr").value
  var arrTables = document.getElementById('table');
  var oRows = arrTables.rows;
  var numRows = oRows.length;
  
  var callback = function(req){
  var rtncode = req.responseText;
  var instr = rtncode.split('][').join('],[');
  GPSrtecARRAY = "[" + instr +"]"
  console.log(GPSrtecARRAY); 
  // Example:
  //GPSrtecARRAY = [["04/11/2019",1,1286],["04/11/2019",1,1311],["04/11/2019",1,1333],["04/11/2019",1,1336],["04/11/2019",1,1337]]
  for (var i = 0; i < GPSrtecARRAY.length ; i++) {
   var newRow = arrTables.insertRow(-1, numRows );
    for(var j = 0; j < GPSrtecARRAY[i].length; j++) {
       newCell = newRow.insertCell(j);
       newCell.innerHTML = GPSrtecARRAY[i][j];
       }
     }
 };
 AJAX( "GET", "/cache/json/arryGPS/" + date, null, callback );  
}

Когда хочу непосредственно (в динамике) бросать данные в таблицу,
как будто не правильная структура.
Хотя, когда эти данные что я получаю в консоле
ставлю в переменную ВСЕ работает !
В чем моя ошибка ???

Спасибо.

Сообщение было отредактировано: 4 ноя 19, 13:55
4 ноя 19, 12:54    [22009304]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
там я неправильно скопировал и вставил цикл - не заметил.
Если нетрудно, прошу модератору исправить.

for (var i = 0; i < GPSrtecARRAY.length ; i++) {

А суть осталась та же.
4 ноя 19, 13:13    [22009316]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 828
Valeriu,
Символ "/" экранируете..?
4 ноя 19, 14:10    [22009349]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
Вопрос снимается.
Допустил ошибку ( JSON.parse ) . На те же грабли как называется
  var callback = function(req){
  var rtncode = req.responseText;
  var instr = rtncode.split('][').join('],[');
  GPSARRAY = "[" + instr +"]"
  GPSrtecARRAY = JSON.parse(GPSARRAY);
  console.log(GPSrtecARRAY); 

Спасибо.
4 ноя 19, 15:30    [22009401]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
AlexKB,
Нет, это косая черта "/" которую я не экранирую.
Не столкнулся с ошибкой в этом случае ...
А вот обратная "\" - да
4 ноя 19, 19:47    [22009517]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
Добрый день.
В эту же тему вопрос про JSON
Имется на сервере Глобал:
^rebWEBdata(20191114,2025,1)=07:45/09:10/1:25/34-Intarzieri/1-DZ/1-Inghet/fd/1-Russu/acsm/75/2/2019-11-14/
^rebWEBdata(20191115,2059,33)=10:20/11:36/1:16/34-Intarzieri/14-CAUCIUC/29-Aproviz/123/1-Russu/acsm/12/1/2019-11-15/

Получаю JSON после преобразования используя https://github.com/robtweed/EWD/blob/master/_zewdJSON.m
{"20191114":{"2025":{"1":"07:45/09:10/1:25/34-Intarzieri/1-DZ/1-Inghet/fd/1-Russu/acsm/75/2/2019-11-14/"}},
"20191115":{"2059":{"33":"10:20/11:36/1:16/34-Intarzieri/14-CAUCIUC/29-Aproviz/123/1-Russu/acsm/12/1/2019-11-15/"}}}

Может кто-то занимался обработке таких строк...
Кто может ответить, это правильное строение или нет ?
В консоле получаю как бы не JSON ...

Спасибо.
15 ноя 19, 13:24    [22017120]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow
Сообщений: 2738
Valeriu,

А что не JSONовское вы там увидели, парсер его обработал без ошибок значит JSON

К сообщению приложен файл. Размер - 112Kb
15 ноя 19, 13:42    [22017142]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
DAiMor,
В консоле смотрю.
Да, парсер показывает - JSON.
   var CAUrtecARRAY = JSON.parse(rtncode);
   console.log(CAUrtecARRAY);

Не там console.log смотрел

Спасибо. Обнадежили. Пятница сказывается наверное ;)
15 ноя 19, 14:41    [22017283]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
DAiMor,
Если не трудно, можете подсказать как парсить
такую структуру в таблицу на JS ?
Я новичок в этой области ..
Для мелкого справочника я делаю примерно так: (для меня выше изложенного сложновато)
+
function GhidViewCAU() {
    var tableHeaderRowCount = 2;
    var myTable = document.getElementById("table1");
    var rowCount = myTable.rows.length;

    for (var i = tableHeaderRowCount; i < rowCount; i++) {
        myTable.deleteRow(tableHeaderRowCount);
    }

    var arrTables = document.getElementById('table1');
    var oRows = arrTables.rows;
    var numRows = oRows.length;
    var callback = function(req){
    var rtncode = req.responseText;
    var CAUrtecARRAY = JSON.parse(rtncode);
    var count = Object.keys(CAUrtecARRAY).length;

    for (var i = 1; i < count + 1 ; i++) {
     var newRow = arrTables.insertRow(-1, numRows );
         newCell = newRow.insertCell(0);
         var keys = Object.keys(CAUrtecARRAY); 
         newCell.innerHTML = keys[i-1]
         newCell = newRow.insertCell(1);
         newCell.innerHTML = CAUrtecARRAY[i];
         newCell = newRow.insertCell(2);
         var x = document.createElement("BUTTON");
         var y = document.createElement("BUTTON");
         x.className = 'btn-outline-info btn-sm';
         y.className = 'btn-outline-info btn-sm';
         var edt = document.createTextNode("Edit");
         var del = document.createTextNode("Del.");
         x.appendChild(edt);
         y.appendChild(del);
         x.onclick = function(){openRowCAU()};
         y.onclick = function(){dellRowCAU(this)}; 
         newCell.appendChild(x);
         newCell.appendChild(y);
      }
   };
   AJAX( "GET", "/cache/rebut/arrayCAU/", null, callback );  
}
15 ноя 19, 15:18    [22017357]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
Думаю перестроить мне легче будет на
серверной стороне Глобал.
15 ноя 19, 17:31    [22017633]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
2acid
Member

Откуда:
Сообщений: 62
Valeriu
Если не трудно, можете подсказать как парсить
такую структуру

Вариантов куча, например так :) ...
const json = {"20191114":{"2025":{"1":"07:45/09:10/1:25/34-Intarzieri/1-DZ/1-Inghet/fd/1-Russu/acsm/75/2/2019-11-14/"}},
"20191115":{"2059":{"33":"10:20/11:36/1:16/34-Intarzieri/14-CAUCIUC/29-Aproviz/123/1-Russu/acsm/12/1/2019-11-15/"}}};

for (let key1 of Object.keys(json)) {
  // console.log(key1);
  for (let key2 of Object.keys(json[key1])) {
    // console.log(key2);
    for (let key3 of Object.keys(json[key1][key2])) {
      // console.log(key3);
      const someArr = json[key1][key2][key3].split('/');
      // console.log(someArr)
      // ...
    }
  }
}
16 ноя 19, 17:05    [22017901]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по JS and M  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2095
2acid,

Спасибо !
16 ноя 19, 20:58    [22017952]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить