layout html online


SUBMITTED BY: edgarrgd

DATE: Sept. 20, 2023, 3:53 p.m.

UPDATED: Dec. 27, 2023, 3:57 a.m.

FORMAT: Text only

SIZE: 2.8 kB

HITS: 512

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Configuración de Servidores</title>
  5. <!--Css-->
  6. <link rel="stylesheet" href="estilos.css">
  7. </head>
  8. <body>
  9. <!--Html-->
  10. <h1>Configuración de Servidores</h1>
  11. <label for="version">Versión:</label>
  12. <input type="text" id="version"><br>
  13. <label for="release-notes">Notas de lanzamiento:</label><br>
  14. <textarea id="release-notes" rows="4" cols="50"></textarea><br>
  15. <h2>Servidores:</h2>
  16. <div id="server-container"></div>
  17. <button class="add-server" onclick="addServer()">Añadir Servidor</button>
  18. <button onclick="generarJSON()">Generar JSON</button>
  19. <h2>JSON generado:</h2>
  20. <pre id="json-output"></pre>
  21. <!--Javascript-->
  22. <script>
  23. function generarJSON() {
  24. const version = document.getElementById("version").value;
  25. const releaseNotes = document.getElementById("release-notes").value;
  26. const config = {
  27. Version: version,
  28. ReleaseNotes: releaseNotes,
  29. Servers: []
  30. };
  31. const serverContainer = document.getElementById("server-container");
  32. // Agrega los servidores al objeto config
  33. const servers = Array.from(serverContainer.getElementsByClassName("server"));
  34. servers.forEach((server) => {
  35. const name = server.getElementsByClassName("name-input")[0].value;
  36. const flag = server.getElementsByClassName("flag-input")[0].value;
  37. config.Servers.push({
  38. Name: name,
  39. FLAG: flag
  40. });
  41. });
  42. // Convierte el objeto en una cadena JSON legible
  43. const jsonString = JSON.stringify(config, null, 4);
  44. // Muestra el JSON generado en el área de texto
  45. document.getElementById("json-output").textContent = jsonString;
  46. }
  47. function addServer() {
  48. const serverContainer = document.getElementById("server-container");
  49. const serverElement = document.createElement("div");
  50. serverElement.className = "server";
  51. serverElement.innerHTML = `
  52. <input type="text" class="name-input" placeholder="Nombre del servidor">
  53. <input type="text" class="flag-input" placeholder="FLAG">
  54. <button onclick="removeServer(this)">Eliminar</button>
  55. `;
  56. serverContainer.appendChild(serverElement);
  57. }
  58. function removeServer(button) {
  59. const serverContainer = document.getElementById("server-container");
  60. const serverElement = button.parentNode;
  61. serverContainer.removeChild(serverElement);
  62. }
  63. </script>
  64. </body>
  65. </html>

comments powered by Disqus