Как реализовать страницу с палитрой цветов и формой для добавления нового цвета с помощью input и js?

Для реализации страницы с палитрой цветов и формой для добавления нового цвета с использованием JavaScript и <input> можно написать следующий код:

1. Создаем HTML разметку:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Color Palette</title>
</head>
<body>
<div id="color-palette">
  <div id="colors">
    <div class="color" style="background-color: red;"></div>
    <div class="color" style="background-color: blue;"></div>
    <div class="color" style="background-color: green;"></div>
    <!-- другие цвета изначальной палитры -->
  </div>
  <form id="color-form">
    <label for="color-input">Add a custom color:</label>
    <input type="color" id="color-input">
    <button type="submit">Add Color</button>
  </form>
</div>
<script src="script.js"></script>
</body>
</html>

2. Напишем JavaScript код для добавления функциональности:

document.addEventListener('DOMContentLoaded', function() {
  const colorsDiv = document.getElementById('colors');
  const colorForm = document.getElementById('color-form');
  const colorInput = document.getElementById('color-input');

  colorForm.addEventListener('submit', function(event) {
    event.preventDefault();
    const newColor = colorInput.value;
    const newColorDiv = document.createElement('div');
    newColorDiv.classList.add('color');
    newColorDiv.style.backgroundColor = newColor;
    colorsDiv.appendChild(newColorDiv);
    colorInput.value = '';
  });
});

Этот JavaScript код добавляет слушатель события "submit" на форму color-form, который предотвращает стандартное поведение формы (перезагрузку страницы) при ее отправке. Затем он создает новый div для нового цвета, добавляет необходимые классы и стили, и добавляет его внутрь элемента с палитрой цветов.

Теперь страница будет иметь возможность добавлять новые цвета в палитру с помощью формы <input type="color">.