The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
динамическое создание кнопок, !*! parad, 27-Дек-20, 23:35  [смотреть все]
привет, мир!
абсолютно не html/js разработчик. собственно требования в дизайне нет никакого.
есть сервак, для которого сделал html-страничку, получающую через веб-сокеты от сервера json со списком текущих сервисов и их состояние. для каждого сервиса должно быть две кнопки: старт и стоп.
сделал фронтенд страничку, на которой через вебсокет выдаю таблицу сервисов, состояние и счетчики определенные. выглядит это так:

<html>
    <head>
        <meta charset="utf-8" />
        <script language="javascript" type="text/javascript">
            var ws = new WebSocket( 'ws://' + location.host + '/services/state.json' );
            if( ! window.console )
                { window.console = { log: function() {} } };
            ws.onopen = function( ev )  { console.log( ev ); };
            ws.onerror = function( ev ) { console.log( ev ); };
            ws.onclose = function( ev ) { console.log( ev ); };
            ws.onmessage = function( ev ) {
                console.log( ev );
                var data = JSON.parse( ev.data ).data;
                var table = '';
                table += '<table border="1">';
                for( var i in data ) {
                    var service = data[ i ];
                    table += '<tr>';
                    table += '<td>' + service.name + '</td>';
                    table += '<td>' + service.state + '</td>';
                    table += '<td>' + service.failedCounter + '/' + service.failedLimit + '</td>';
                    table += '<td><button href="" type="button">СТАРТ</button></td>';
                    table += '<td><button href="" type="button">СТОП</button></td>';
                    table += '</tr>';
                }
                table += '</table>';
                messages = document.getElementById( 'state' );
                messages.innerHTML = table;
            };
        </script>
    </head>
    <body>
        <div class="content">
            <h1>сервисы</h1>
            <a href="/services/state.json">скачать слепок</a>
            <div id="state"/>
        </div>
    </body>
</html>

необходимо добавить реакцию на динамически созданные кнопки СТАРТ/СТОП для каждого сервиса, так чтобы дергался определенный урл гет-запросом ( к примеру '/some/url?service=name&action=STOP' ), так чтобы не покидать страницу.

подскажите как проще всего это добавить в существующий код, прям самый простой способ.
спасибо.

  • динамическое создание кнопок, !*! Аноним, 14:24 , 29-Дек-20 (1)
    Утилиты и тем более админские на браузерном жыэс - это уже слишком.
    • динамическое создание кнопок, !*! parad, 21:15 , 29-Дек-20 (2)
      > Утилиты и тем более админские на браузерном жыэс - это уже слишком.

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

      пс. напиши свой комментарий в список рассылки webmin, netdata, nagios - какие там еще есть админские веб-тулы... ну и слепо можешь слать свой комментарий в яндекс, гугл, фейсбук, мейлу - они давно ждут такого джедая, чтоб пришел научил.

  • динамическое создание кнопок, !*! Юрий В. А., 17:31 , 04-Апр-21 (3) +1
    Можно вначале сделать ссылку-кнопку на этот запрос, которая откроется в новой вкладке, а потом закрыть эту вкладку посредством vbscript. Но работать такое будет только в Виндовс и только в старых версиях ИЕ.
  • динамическое создание кнопок, !*! fantom, 15:26 , 09-Июн-21 (5)
    >[оверквотинг удален]
    > <div id="state"/>
    >         </div>
    >     </body>
    > </html>
    > необходимо добавить реакцию на динамически созданные кнопки СТАРТ/СТОП для каждого сервиса,
    > так чтобы дергался определенный урл гет-запросом ( к примеру '/some/url?service=name&action=STOP'
    > ), так чтобы не покидать страницу.
    > подскажите как проще всего это добавить в существующий код, прям самый простой
    > способ.
    > спасибо.

    Что-то типа

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "URL", true);
    xhr.send();

    Не прокатит??

  • динамическое создание кнопок, !*! ShyLion, 13:15 , 03-Июл-21 (6)
    > привет, мир!
    > абсолютно не html/js разработчик. собственно требования в дизайне нет никакого.

    Настоятельно рекомендую ознакомится с jQuery как со средством манипулирования DOM, так и его функцией ajax.

    Мне, как наколеночному пейсателю всякого админского для работы, очень сильно помогло и открыло целый новый мир.

    ЗЫ: а потом я еще освоил golang и настало полное счастье.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру