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

Откуда: Chisinau
Сообщений: 1932
Всем доброго дня !

Не пинайте сильно, я только осваиваю.
Вопрос конечно для GT.M , но я думаю что в Cache, тоже такое есть.
Ко мне в руки попали настройки для ngnix & FastCGI.
Запускается HTML страница в виде рутины М - все просто.
Можно в динамике построить деревья. списки и тд
+
 %fcgi("o","stdout")=""
 
%fcgi("o","header","Content-Type")="text/html"
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<!DOCTYPE html>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<html>"_$C(13,10)
 ...................
  
; ***** Namspaces, routins and globals *****
 
(Er,nmsp,dtbs,rtntxt,rtnobj,glb,journal,n,nod,UCI,i)=""
 
syspatch^%mwutl(.nmsp,.dtbs,.rtntxt,.rtnobj,.glb,.journal,.n,.Er)
 
f  s nod=$o(dtbs(nod)) q:nod=""  d
 
i=i+1
 . 
UCI=$p(dtbs(nod),"/",1)
 . 
%fcgi("o","stdout")=%fcgi("o","stdout")_"                        <li><input type=""checkbox"" id=""item"""_i_" /><label for=""item"""_i_" >"_UCI_"</label>"_$C(13,10)
 . 
%fcgi("o","stdout")=%fcgi("o","stdout")_"                            <ul>"_$C(13,10)
 . 
%fcgi("o","stdout")=%fcgi("o","stdout")_"                                <li><a href=""./""><img src=""img/icons/icon16/document_editing.png"" alt=""Routins"">Routins</a></li>"_$C(13,10)  
 . 
%fcgi("o","stdout")=%fcgi("o","stdout")_"                                <li><a href=""./""><img src=""img/icons/icon16/chart_organisation.png"" alt=""Globals"">Globals</a></li>"_$C(13,10) 
 . 
%fcgi("o","stdout")=%fcgi("o","stdout")_"                            </ul>"_$C(13,10)
 . 
%fcgi("o","stdout")=%fcgi("o","stdout")_"                          </li>"_$C(13,10) 
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"             </ul>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"          </li>"_$C(13,10) 
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"     </ul>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</div>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</div>"_$C(13,10) 
 
%fcgi("o","stdout")=%fcgi("o","stdout")_""_$C(13,10)
Собственно вопрос.
Можно создать исходя из вышесказанного, функцию на М, которую связывала(взаимосвязь)
например дерево со списком.
Короче говоря, при нажатие на дерево получить список(рутин или глобалов)
Сумбурно, конечно ...
Спасибо.
15 сен 16, 11:29    [19667704]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu
Можно в динамике построить деревья. списки и тд
В этом примере просто наращивают значение переменной
 %fcgi("o","stdout")
Никаких "деревьев" нет и в помине...
Просто одна большая строка.
15 сен 16, 11:36    [19667752]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
krvsa,
Неважно, строка или нет. Но дерево я получаю !

К сообщению приложен файл. Размер - 69Kb
15 сен 16, 12:05    [19667991]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1621
Valeriu
при нажатие на дерево получить список(рутин или глобалов)

в смысле - связать с нажатием на элемент списка джаваскриптину, которая что-то заполнит? можно. Сделать элементом списка ссылку, которая перезапросит чего-то у сервера и оно вернет правильный ответ? тоже можно.

Но это вопросы больше к HTML-javascript, чем к GT.M кажется....
15 сен 16, 12:40    [19668197]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 677
Valeriu,
В Каше для этого очень хорошо подходит ZEN-технология!
Все получается очень легко и просто, связка между серверным и клиентским методами устанавливается сама собой.
Давно уже ее использую, с 2007 года.
15 сен 16, 13:51    [19668611]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
Vladimir Baskakov,
Да, примерно так. Но хотелось без перезагрузки страницы..
Для Ajax можно, даже есть пример.
Думал если Ajax делает такие вещи,
+
EXTR4a  ;;Compilation tools WinBuilder company "ELTRANSSOFT" :[26.08.2016 07:44:52]
   
%fcgi("o","stdout")=""
   
%fcgi("o","header","Content-Type")="text/html"
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<html>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<head>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<title>Taschenrechner mit AJAX</title>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<script src=""AJAX.js""></script>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<script language=""JavaScript"">"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"function get_result(http) {"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"    erg.value = http.responseText;"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"}"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</script>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</head>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<body>"_$C(13,10)
   
sid=$P(%fcgi("i","header","SID"),",")
   
sid="" out("No Sessio-ID! Reload Page!"END
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"Z1:<input type=""text"" name=""z1"" value=""0"" oninput=""AJAX('GET','EXTR4b.m?z1='+this.value,null,get_result)""><br>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"Z2:<input type=""text"" name=""z2"" value=""0"" oninput=""AJAX('GET','EXTR4b.m?z2='+this.value,null,get_result)""><br>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"Erg:<output id=""erg""></output>"_$C(13,10)
END ;
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</body>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</html>"_$C(13,10)
   
q
out(txt) ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_txt
   
q
почему не пробовать на чистом М коде ?!
+
function  ;;Compilation tools WinBuilder company "ELTRANSSOFT" :[15.09.2016 11:49:50]
 
%fcgi("o","stdout")=""
 
%fcgi("o","header","Content-Type")="text/html"
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<html>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<head>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<meta http-equiv=""Content-Type"" content=""text/html; charset=windows-1251"">"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<title>&#196;&#238;&#234;&#243;&#236;&#229;&#237;&#242; &#225;&#229;&#231; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#255;</title>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</head>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<body>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<form name=""myForm"" id=""myFormId"">"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<select name=""mySelect"" id=""mySelectId"" >"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<option> 1-&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#241;&#239;&#232;&#241;&#234;&#224; </option>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<option> 2-&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#241;&#239;&#232;&#241;&#234;&#224; </option>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<option> 3-&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#241;&#239;&#232;&#241;&#234;&#224; </option>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</select>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<button type=""button"" onclick=""$$example^function"">"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<p1>&#196;&#238;&#225;&#224;&#226;&#232;&#242;&#252;</p1>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</button>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</form>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</body>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</html>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_""_$C(13,10)
 
q
out(txt) ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_txt
 
q
example()
 
q $zv
 q
Но так запускать не могу ...
Опыта совсем нету, я только с настольными приложениями работал.
15 сен 16, 13:54    [19668628]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu
Но дерево я получаю !

У каждого свое понимание "дерева"...
15 сен 16, 14:19    [19668796]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
Valeriu,
извиняюсь, не заметил абракадабру в примере с аяксом...
+
EXTR4a  ;;Compilation tools WinBuilder company "ELTRANSSOFT" :[26.08.2016 07:44:52]
   
%fcgi("o","stdout")=""
   
%fcgi("o","header","Content-Type")="text/html"
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<html>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<head>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<title>Taschenrechner mit AJAX</title>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<script src=""AJAX.js""></script>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<script language=""JavaScript"">"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"function get_result(http) {"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"    erg.value = http.responseText;"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"}"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</script>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</head>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"<body>"_$C(13,10)
   
sid=$P(%fcgi("i","header","SID"),",")
   
sid="" out("No Sessio-ID! Reload Page!"END
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"Z1:<input type=""text"" name=""z1"" value=""0"" oninput=""AJAX('GET','EXTR4b.m?z1='+this.value,null,get_result)""><br>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"Z2:<input type=""text"" name=""z2"" value=""0"" oninput=""AJAX('GET','EXTR4b.m?z2='+this.value,null,get_result)""><br>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"Erg:<output id=""erg""></output>"_$C(13,10)
END ;
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</body>"_$C(13,10)
   
%fcgi("o","stdout")=%fcgi("o","stdout")_"</html>"_$C(13,10)
   
q
out(txt) ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_txt
   
q
15 сен 16, 14:23    [19668822]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
+ Так предлагают:
dinamic  ;;Compilation tools WinBuilder company "ELTRANSSOFT" :[15.09.2016 14:07:25]
 
%fcgi("o","stdout")=""
 
%fcgi("o","header","Content-Type")="text/html"
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<html>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<head>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<title>Dynamic Select</title>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</head>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<body>"_$C(13,10)
    
i $D(%fcgi("i","_POST")) RESULT
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<form action='dinamic.m' method='post'>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<select name='myselect'>"_$C(13,10)
    
i=1:1 q:'$D(^dynselect(i))  out("<option>"_^(i)_"</option>")
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</select>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<input type='submit' value=""Next"">"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</form>"_$C(13,10)
    
END
RESULT    
;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"Your Choice:"_$C(13,10)
    
out($G(%fcgi("i","_POST","myselect")))
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<br><form action='dinamic.m' method='get'>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<input type='submit' value=""Go to form"">"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</form>"_$C(13,10)
END ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</body>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</html>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_""_$C(13,10)
 
q
out(txt) ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_txt
 
q
15 сен 16, 14:31    [19668889]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu, давай отделим мух от котлет.

У тебя есть какой-то механизм формирования страниц (хтмл) на ГТ.М?
15 сен 16, 14:55    [19669084]     Ответить | Цитировать Сообщить модератору
 Re: Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
krvsa,
Да. Любой html файл, могу перенести в GT.M
и работает без единой запинки уже в формате (file.m)
15 сен 16, 15:20    [19669292]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu
Да. Любой html файл, могу перенести в GT.M

Вот и отлично!
Т.о. переводим твою проблему в разряд взаимодействия хтмл страниц.

В твоем "механизме" на сервере есть возможность получить параметры из УРЛа?
Т.е. если некую страницу вызвали таким образом
<протокол>//page.html?prm1=text1&prm2=text2

Сможешь получить значения для prm1 и prm2?
15 сен 16, 16:22    [19669666]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
krvsa,
Однозначно не могу ответить, но по всей видимости должно..
Разберусь.
15 сен 16, 16:57    [19669881]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu, без параметров придется делать больше страниц...

Т.е. суть моего предложения такая. Перейти на простое взаимодействие страниц (хтмл или еще каких). Наладить нужный обмен, а потом ты все эти странички повторишь в М-программках. ;)

Ты главное про параметры узнай, без них туго придется.
16 сен 16, 08:17    [19671448]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
krvsa,
Отправляю серверу в первом текстбоксе -123 и во втором 456
+ Вот HTML страница в виде М рутины :
EXTR5   ;;Compilation tools WinBuilder company "ELTRANSSOFT" :[16.09.2016 08:53:41]
 
%fcgi("o","stdout")=""
 
%fcgi("o","header","Content-Type")="text/html"
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<html>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<head>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<title>Sinlge Page Caclulator</title>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</head>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<body>"_$C(13,10)
 
i $D(%fcgi("i","_POST")) CALC
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<form action='EXTR5.m' method='post'>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"Z1:<input type='text' name='z1'><br>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"Z2:<input type='text' name='z2'><br>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<input type='submit'>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</form>"_$C(13,10)
 
END
CALC    
;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"Result:"_$C(13,10)
 
out($G(%fcgi("i","_POST","z1"))+$G(%fcgi("i","_POST","z2")))
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"<br><a href='EXTR5.m'>Go to form</a>"_$C(13,10)
END ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</body>"_$C(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_"</html>"_$C(13,10)
 
q
out(txt) ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_txt
 
q
+ А вот что получается на сервер:
###############
%fcgi("i","_POST","z1")=123
%fcgi("i","_POST","z2")=456
%fcgi("i","header",$C(0,1,15)_"HTTP_COO")="KIEviewMode=columns; state-2BF8D6CE-596D-11E6-AEED-BC5FF4819441=SYSOP%3A6; Username=UnknownUser; __utm
a=14483063.1938373861.1471"
%fcgi("i","header","1173.1474000714.1474003068.45; __utmc=14483063; __utm")="z=14483063.1471511173.1.1.utmcsr=(direct)|utmccn="
%fcgi("i","header","DOCUMENT_URI")="/EXTR5.m"
%fcgi("i","header","HTTP_ACCEPT")="text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
%fcgi("i","header","HTTP_ACCEPT_ENCODING")="gzip, deflate"
%fcgi("i","header","HTTP_ACCEPT_LANGUAGE")="ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
%fcgi("i","header","HTTP_CACHE_CONTROL")="max-age=0"
%fcgi("i","header","HTTP_CONNECTION")="keep-alive"
%fcgi("i","header","HTTP_CONTENT_LENGTH")=13
%fcgi("i","header","HTTP_CONTENT_TYPE")="application/x-www-form-urlencoded"
%fcgi("i","header","HTTP_HOST")="192.168.1.111:8082"
%fcgi("i","header","HTTP_ORIGIN")="http://192.168.1.111:8082"
%fcgi("i","header","HTTP_REFERER")="http://192.168.1.111:8082/EXTR5.m"
%fcgi("i","header","HTTP_UPGRADE_INSECURE_REQUESTS")=1
%fcgi("i","header","HTTP_USER_AGENT")="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
%fcgi("i","header","QUERY_STRING")=""
%fcgi("i","header","REQUEST_METHOD")="POST"
%fcgi("i","header","SID")="64177274551,33"
%fcgi("i","header","irect)|utmcmd=(none); SID=64177274551,33")=""
%fcgi("i","stdin")="z1=123&z2=456"
%fcgi("o","header","Set-Cookie")="SID=64177274551,34"

###############
%fcgi("i","stdin")="z1=123&z2=456"
16 сен 16, 09:03    [19671583]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1621
а зачем налаживать обмен?
=============
в смысле - скомпоновать один раз страницу с нужными div-ами невидимыми, и по клику на элементах дерева их скрывать - показывать, чисто на клиенте, не дергая сервер. но тут еще конечно бы подучить javascript - css, что все равно не лишнее, как ни крути.
16 сен 16, 16:29    [19674684]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu, тогда уже лучше!

Забудь пока про свои программки и глобалы.

Ты умеешь делать обмен с простыми хтмл-страницами?

Задачка у тебя такая:
- есть страница
- она может запрашивать данные у сервера
- получив ответ, отображает данные у себя на странице

Ты такое сможешь сделать на связке хтмл+аджакс+жосн+яваскрипт?
16 сен 16, 16:37    [19674764]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Vladimir Baskakov
скомпоновать один раз страницу с нужными div-ами невидимыми, и по клику на элементах дерева их скрывать - показывать, чисто на клиенте, не дергая сервер

Данных может быть много... Заколебешся ждать когда страничку увидишь.
А так, частями можно все получать не теряя управления страницей.

Ну и типа модно сейчас так!
16 сен 16, 16:39    [19674779]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
krvsa,
krvsa
Ты такое сможешь сделать на связке хтмл+аджакс+жосн+яваскрипт?
Думаю это возможно. FCGI вижу все "кушает". ;)
Вот например вывода пользователю предупреждения в моем обработчике ошибок на JS
.................
out(txt) ;
 
%fcgi("o","stdout")=%fcgi("o","stdout")_txt
 
q
 
;
zt()
 
i $zv["GT.M" "g Error^dinamic"
 
"Error^dinamic"
 ;
Error
 
%fcgi("o","stdout")=%fcgi("o","stdout")_" <script type=""text/javascript"">"_$c(13,10)
    
s $et="",$ec="",$zt=""
    
output=$zs
    s $zs
=0
 
%fcgi("o","stdout")=%fcgi("o","stdout")_" alert ("""_output_""")"_$c(13,10)
 
%fcgi("o","stdout")=%fcgi("o","stdout")_" </script>"_$c(13,10)
 
out(%fcgi("o","stdout"))
 
q
16 сен 16, 16:49    [19674848]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
Vladimir Baskakov,
Vladimir Baskakov
подучить javascript - css, что все равно не лишнее, как ни крути

Без JS думаю никак...
16 сен 16, 16:59    [19674907]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1621
krvsa
Vladimir Baskakov
скомпоновать один раз страницу с нужными div-ами невидимыми, и по клику на элементах дерева их скрывать - показывать, чисто на клиенте, не дергая сервер

Данных может быть много... Заколебешся ждать когда страничку увидишь.
А так, частями можно все получать не теряя управления страницей.

Ну и типа модно сейчас так!

Сколько мегабайт в тексте? На деревьях?
а если еще сервер зипует? Нифига не много, запросы на сервер на каждый чих гонять не факт что правильнее.

и я бы между м-базой и страничкой все же по возможности положил прослойку из пхп или питона.

Такой код с построчным формирование странички - как-то негибко, что ли, шаблонизаторы же придумали уже, для отделения логики от представления, фреймворки. Ну дело хозяйское, это просто мнение. Может на мампсе модно так...
17 сен 16, 08:13    [19676446]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Vladimir Baskakov, я ни коим образом не ограничиваю твои действия. Ты волен поступать как тебе захочется.
19 сен 16, 08:39    [19681243]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu
Думаю это возможно.

Вот и отлично!
Тогда тебе нужно, для начала, сделать некий пример такого "обмена" на обычных хтмл-страничках, а потом повторить их содержимое на м-программках...
19 сен 16, 08:42    [19681246]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 1932
krvsa,
OK.
Но все ровно, без взаимодействия
неких программ(глобалов) на стороне GT.M никак.
Тогда какой смысл, если не использовать М ? ...
Смак в том, обмениваться данными с сервером GT.M
и WEB страницей.
Вот например создание списка на базе статической страницы.
(HTML):
+
<html>
<head>
<title>Dynamic Select</title>
<script src="ajax.js"></script>
<script src="ajaxdynselect.js"></script>
</head>
<body>
    <input type='button' onclick="fill_select_1()" value="Fetch data">
<select name='myselect' id="myselect">
</select>
<input type='button' onclick="alert(myselect.value)" value="Show selection">
</body>
</html>

Ajax:
+
function AJAX(method, url, data, func_answer) {
    var _http = new XMLHttpRequest;
    if (_http != null) {
        _http.open(method, url, func_answer != null);
        _http.onreadystatechange = function() {
        if(_http.readyState == 4)
            func_answer(_http);
        };
         _http.send(data);
    }
    else
        alert("No AJAX possible!");
    return _http;
}
+ Ajax с использованием json на М стороне:
+
  function fill_select_1() {
        var data = AJAX("GET","/gt.m/rest/dynselect/10",null,fill_select_2);
    }
    function fill_select_2(http){
            var data = JSON.parse(http.responseText);
            var option;
            for (var i = 0; i < data.length; i++) {
                option = document.createElement("option");
                option.text = data[i];
                myselect.add(option);
            }
    }
19 сен 16, 09:18    [19681356]     Ответить | Цитировать Сообщить модератору
 Re: [gt.m] Деревья и списки HTML  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12726
Valeriu
Тогда какой смысл, если не использовать М ? ...

Смысл в создании простого, работающего макета.

Когда макет заработает - останется только его воплотить на м-программках (или глобалах)...
19 сен 16, 11:25    [19681883]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Caché Ответить