The OpenNET Project / Index page

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



"динамическое создание кнопок"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (JavaScript)
Изначальное сообщение [ Отслеживать ]

"динамическое создание кнопок"  +/
Сообщение от parad (ok), 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' ), так чтобы не покидать страницу.

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "динамическое создание кнопок"  +/
Сообщение от Аноним (-), 29-Дек-20, 14:24 
Утилиты и тем более админские на браузерном жыэс - это уже слишком.
Ответить | Правка | Наверх | Cообщить модератору

2. "динамическое создание кнопок"  +/
Сообщение от parad (ok), 29-Дек-20, 21:15 
> Утилиты и тем более админские на браузерном жыэс - это уже слишком.

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

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

Ответить | Правка | Наверх | Cообщить модератору

3. "динамическое создание кнопок"  +1 +/
Сообщение от Юрий В. А. (?), 04-Апр-21, 17:31 
Можно вначале сделать ссылку-кнопку на этот запрос, которая откроется в новой вкладке, а потом закрыть эту вкладку посредством vbscript. Но работать такое будет только в Виндовс и только в старых версиях ИЕ.
Ответить | Правка | Наверх | Cообщить модератору

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

Что-то типа

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

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

Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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