powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Нужен совет по JS and M
25 сообщений из 85, страница 2 из 4
Нужен совет по JS and M
    #39842931
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
krvsaЗначит дело не в бабине. (с)
Придется тебе искать факторы, которые "мешают" скриптам или еще чему-то реализовывать задуманное.
Вот нашлось время и разобрался.
Оказывается, загружать в начале при загрузки страницы - сработал не правильно...
Код: html
1.
2.
3.
<html>
    <body onload="InitDB();">
...


А вот уже в конце страницы - уже все нормально.
Код: html
1.
2.
3.
4.
5.
6.
7.
.....
</div>
<script type="text/javascript">
  window.onload = InitDB();   
</script>  
</body>
</html>
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39843245
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , сейчас более уместно использовать специальный метод для установки обработчиков. ;)
https://msiter.ru/tutorials/javascript/js_htmldom_eventlistener
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39859850
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriukrvsa,
krvsaЗначит дело не в бабине. (с)
Придется тебе искать факторы, которые "мешают" скриптам или еще чему-то реализовывать задуманное.
Вот нашлось время и разобрался.
Оказывается, загружать в начале при загрузки страницы - сработал не правильно...
Код: html
1.
2.
3.
<html>
    <body onload="InitDB();">
...


А вот уже в конце страницы - уже все нормально.
Код: html
1.
2.
3.
4.
5.
6.
7.
.....
</div>
<script type="text/javascript">
  window.onload = InitDB();   
</script>  
</body>
</html>



В полноценном Backend такое "не прокатит". Данный метод хорош только для FrontEnd.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39860186
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,
Буду признателен если подскажите как правильно это делать.
У меня есть некоторые проблемы именно после вызова этой функции..
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39860233
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это
Valeriu
Код: html
1.
    <body onload="InitDB();">


И вот это
Valeriu
Код: html
1.
2.
3.
<script type="text/javascript">
  window.onload = InitDB();   
</script>  


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

Аналогом к первому может быть вот такой вариант
Код: html
1.
2.
3.
<script type="text/javascript">
  window.onload = InitDB;   
</script>  
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39860262
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или вовсе по современному...
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
window.addEventListener('load',function(){
	alert('Test');
});
</script>
</head>
<body>
</body>
</html>
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39884920
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Не хотел засорять и поднять другую тему.
Вопрос.
Получаю из М - 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]]

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
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 );  
}


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

Спасибо.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39884928
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там я неправильно скопировал и вставил цикл - не заметил.
Если нетрудно, прошу модератору исправить.

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

А суть осталась та же.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39884950
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,
Символ "/" экранируете..?
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39884979
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снимается.
Допустил ошибку ( JSON.parse ) . На те же грабли как называется
Код: javascript
1.
2.
3.
4.
5.
6.
  var callback = function(req){
  var rtncode = req.responseText;
  var instr = rtncode.split('][').join('],[');
  GPSARRAY = "[" + instr +"]"
  GPSrtecARRAY = JSON.parse(GPSARRAY);
  console.log(GPSrtecARRAY); 


Спасибо.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39885055
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB,
Нет, это косая черта "/" которую я не экранирую.
Не столкнулся с ошибкой в этом случае ...
А вот обратная "\" - да
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39889563
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
В эту же тему вопрос про JSON
Имется на сервере Глобал:
Код: html
1.
2.
^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
Код: html
1.
2.
{"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 ...

Спасибо.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39889579
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

А что не JSONовское вы там увидели, парсер его обработал без ошибок значит JSON
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39889663
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
В консоле смотрю.
Да, парсер показывает - JSON.
Код: javascript
1.
2.
   var CAUrtecARRAY = JSON.parse(rtncode);
   console.log(CAUrtecARRAY);


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

Спасибо. Обнадежили. Пятница сказывается наверное ;)
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39889718
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
Если не трудно, можете подсказать как парсить
такую структуру в таблицу на JS ?
Я новичок в этой области ..
Для мелкого справочника я делаю примерно так: (для меня выше изложенного сложновато)
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
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 );  
}

...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39889869
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю перестроить мне легче будет на
серверной стороне Глобал.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39890036
2acid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValeriuЕсли не трудно, можете подсказать как парсить
такую структуру
Вариантов куча, например так :) ...
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
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)
      // ...
    }
  }
}
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39890070
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2acid,

Спасибо !
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39895704
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2acid
ValeriuЕсли не трудно, можете подсказать как парсить
такую структуру

Вариантов куча, например так :) ...
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
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)
      // ...
    }
  }
}


Ghb

На python ничего такого и писать не надо было бы. Сам язык программирование предполагает хранение и обработку JSON данных :
Код: python
1.
print(json[''20191114"][''2025"]["1"])



А вообще как правило в правильных JSON структурах принято использовать списки.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39895736
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,
А python Ваш, конечно же, в браузере исполняется..?
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39895930
2acid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalinНа python ничего такого и писать не надо было бы. Сам язык программирование предполагает хранение и обработку JSON данных :
Аналогично и на JS
Код: javascript
1.
2.
console.log(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/"
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39896057
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2acid
kalinНа python ничего такого и писать не надо было бы. Сам язык программирование предполагает хранение и обработку JSON данных :

Аналогично и на JS
Код: javascript
1.
2.
console.log(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/"



Представьте себе, и на Каше тоже...
авторs json={"123":{"456":{"1":"qwerty"}},"789":{"101":{"2":"asdf"}}}

w json."123"."456"."1"
qwerty

w json."789"."101"."2"
asdf

s json."789"."101"."2"="9999"

w json."789"."101"."2"
9999
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39910319
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB
2acid
пропущено...

Аналогично и на JS
Код: javascript
1.
2.
console.log(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/"



Представьте себе, и на Каше тоже...
авторs json={"123":{"456":{"1":"qwerty"}},"789":{"101":{"2":"asdf"}}}

w json."123"."456"."1"
qwerty

w json."789"."101"."2"
asdf

s json."789"."101"."2"="9999"

w json."789"."101"."2"
9999


В питоне это не строка, а списки , словари, кортежи, соответственно и работа с ними через разные функции.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39910322
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB,
Вообще в браузере загружается сформированный уже html код и минимальный набор java кода для обработки интерфейса пользователя и поддержке защищенной сессии. А обработка массива данных на стороне сервера, а не как на стороне клиента в браузере. Для этого и придуманы 'скриптовые' языки и шаблоны, формирующие html для клиента.
...
Рейтинг: 0 / 0
Нужен совет по JS and M
    #39920586
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.
В эту же тему.
Записываю данные на М сервер (строку)
Получаю со стороны М json данные и обновляю строки в таблицу,
те новую строку для того чтоб пользователь мог увидеть что ввел.
Естественно перед обновления я очищаю таблицу.
Шапка таблица из 3-х строк - ее не трогаю.
Есть функция JS которая справляется с этим, а вот другая - НЕТ !
Подскажите в чем подвох ???

Работающая:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
function DellTable() {
    var tableHeaderRowCount = 3;
    var myTable = document.getElementById('tabledispecer');
    var rowCount = myTable.rows.length;
    
    for (var i = tableHeaderRowCount; i < rowCount; i++) {
        myTable.deleteRow(tableHeaderRowCount);
    }
}


Неработающая:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
function DellTable1() {
    var myTable = document.getElementById("tabledispecer");
    var rowCount = myTable.rows.length;
    for (var i = 3; i < rowCount; i++) {
        myTable.deleteRow(i);
       }
    }



Спасибо.
...
Рейтинг: 0 / 0
25 сообщений из 85, страница 2 из 4
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Нужен совет по JS and M
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]