JavaRush /Курсы /Модуль 1: Web Core /Основные элементы форм

Основные элементы форм

Модуль 1: Web Core
5 уровень , 1 лекция
Открыта

2.1 Элемент <input>

Формы являются важным компонентом веб-страниц и дают возможность пользователям вводить и отправлять данные. Основными элементами форм являются <input>, <textarea> и <button>. Эти элементы позволяют юзерам вводить текст, выбирать варианты, загружать файлы и выполнять другие действия.

Элемент <input> является одним из наиболее часто используемых элементов форм. Он поддерживает множество типов ввода данных и может использоваться для различных целей, таких как ввод текста, выбор файлов, указание дат и т. д.

Общий синтаксис:

HTML
    
      <input type="type" name="name" id="id" value="value" placeholder="placeholder" required>
    
  

Атрибуты <input>

  • type: определяет тип ввода
  • name: имя элемента формы, используется для идентификации данных на сервере
  • id: уникальный идентификатор элемента
  • value: начальное значение элемента
  • placeholder: текст-заполнитель, отображаемый внутри элемента до ввода данных
  • required: указывает, что элемент обязателен для заполнения

Пример <input>

input-text позволяет вводить однострочный текст.

HTML
    
      <input type="text" name="username" id="username" placeholder="Введите имя пользователя" required>
    
  

2.2 Элемент <textarea>

Элемент <textarea> используется для ввода многострочного текста. Он отличается от <input type="text"> тем, что позволяет вводить текст, содержащий несколько строк, и может быть настроен по размеру.

Общий синтаксис:

HTML
    
      <textarea name="name"
        id="id"
        rows="rows" cols="cols"
        placeholder="placeholder" required>
      </textarea>
    
  

Атрибуты <textarea>

  • name: имя элемента формы, используется для идентификации данных на сервере
  • id: уникальный идентификатор элемента
  • rows: количество строк текста
  • cols: количество символов в одной строке
  • placeholder: текст-заполнитель, отображаемый внутри элемента до ввода данных
  • required: указывает, что элемент обязателен для заполнения

Пример использования:

HTML
    
      <label for="comments">Комментарии:</label>
      <textarea name="comments"
        id="comments"
        rows="5"
        cols="40"
        placeholder="Введите ваши комментарии здесь..."
        required>
      </textarea>
    
  

Стилизация <textarea>

Элемент <textarea> можно стилизовать с помощью CSS, чтобы улучшить внешний вид и пользовательский опыт.

Пример стилизации:

CSS
    
      textarea {
        width: 75%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        resize: vertical; /* resize будет доступен только по вертикали */
      }
    
  
HTML
    
      <label for="comments">Комментарии:</label>
      <textarea name="comments"
        id="comments"
        rows="5" placeholder="Введите ваши комментарии здесь..." required>
      </textarea>
    
  

2.3 Элемент <button>

Элемент <button> используется для создания кнопок в формах. В отличие от <input type="button">, элемент <button> более гибкий, и он позволяет вставлять кнопки различные HTML-элементы, такие как текст, изображения и т. д.

Общий синтаксис:

HTML
    
      <button type="type" name="name" id="id" value="value">Текст кнопки</button>
    
  

Пример использования:

HTML
    
      <button type="submit">Отправить</button>
      <button type="reset">Сбросить</button>
      <button type="button" onclick="alert('Кнопка нажата!')">Нажми меня</button>
    
  

Атрибуты <button>

  1. type: определяет поведение кнопки. Возможные значения:
    • submit: отправляет форму (значение по умолчанию)
    • reset: сбрасывает форму
    • button: произвольная кнопка, не выполняет действий по умолчанию
  2. name: имя элемента формы, используется для идентификации данных на сервере.
  3. id: уникальный идентификатор элемента.
  4. value: значение, отправляемое на сервер при отправке формы.

Вложенный HTML в <button>

Элемент <button> позволяет вставлять внутрь него различные HTML-элементы для создания более сложных кнопок.

Пример с вложенным HTML:

HTML
    
      <button type="type" name="name" id="id" value="value">
        📨Отправить
      </button>
    
  
HTML
    
      <button type="type" name="name" id="id" value="value">
        <img src="submit_icon.png" alt="Отправить">
        Отправить
      </button>
    
  

Стилизация <button>

Элемент <button> можно стилизовать с помощью CSS для улучшения внешнего вида и пользовательского опыта.

Пример стилизации:

CSS
    
      button {
        background-color: #4CAF50; /* Зеленый фон */
        color: white; /* Белый текст */
        padding: 15px 20px; /* Внутренние отступы */
        border: none; /* Без границ */
        border-radius: 4px; /* Скругленные углы */
        cursor: pointer; /* Указатель курсора */
      }

      button:hover {
        background-color: #45a049; /* Темно-зеленый фон при наведении */
      }
    
  
HTML
    
      <button type="submit">Отправить</button>
    
  
1
Задача
Модуль 1: Web Core, 5 уровень, 1 лекция
Недоступна
Текстовое поле
Текстовое поле
1
Задача
Модуль 1: Web Core, 5 уровень, 1 лекция
Недоступна
Кнопки
Кнопки
Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Олег Сычев Уровень 29
24 августа 2025
Кто выполняет задачи в idea - если Вы тестируете результат в встроенном браузере idea - там alert не срабатывает. Поэтому, пробуйте открывать через chrome или другой полноценный браузер. Сначала сидел, не понимал - почему не работает, где ошибку сделал)) Оказалось, проблема не в коде, а в браузере...
Павел Уровень 19 Expert
26 января 2025
Обратили внимание - атрибут id элемента <input> используется на странице в <label>, CSS, JS для отображения страницы в браузере, атрибут name используется при отправке данных на сервер например для сохранения в базе данных или авторизации?
14 февраля 2025
Разворот событий этих атрибутов зависит только от твоих фантазий.. так как можно сделать обработчик событий под id перед тем как данные отправить на сервер.. образно: допустим на сайте есть формы под каждым контентом где ты можешь вставлять либо картинку либо медиа либо видео.. так как разумно для каждого типа иметь соответствующий раздел бд на сервере для сохранения этих элементов, а так как страниц может быть много и допустим пользователей тоже много - соответственно может быть и несколько бд что предполагает разные адреса бд у форм.. чтобы в ручную этим не заниматься можно сделать так: в javascript создаем функцию на обработку id формы где к каждому диапазону значений id будет привязан определенный адрес базы данных.. и контент который предполает сохранение сразу будет улетать куда надо без лишний манипуляци связанной с ручной выборкой форм (ведь страницы могут создаваться автоматически и количество форм может увеличиваться до 1000) и производя обработку во фронте() на стороне клиента - мы снжаем нагрузку на сервер, что является хорошей практикой. это 1 из вариатов что ты можешь делать с помощью id, ты так же можешь передать id на сервер и сделать все это там... можно сортировать так не только по контенту, а например по странам по операторам по номерам по валютным ранжировкам итд
14 февраля 2025
а атрибут name передается в качестве логина который служит и для авторизации и для сохранения и для валидации и для загрузки.. это твоя дверь в дом а ключ это пароль)
Vadim Makarenko Уровень 42
15 января 2025
По задаче "Кнопки" совет: не ведитесь на подсказку WS по сообщению в функции JS. Оно должно быть по-русски, как в задании.
Vadim Makarenko Уровень 42
14 января 2025
Значение атрибута type = "type" для тега BUTTON документацией вроде бы не предусмотрено, в лекции оно тоже не описано, но приведено в примере с вложенным HTML-элементом. Хотелось бы пояснений.
14 февраля 2025
Vadim Makarenko Уровень 42
15 февраля 2025
И что? Вы сами подтвердили мой вопрос: есть атрибут type с тремя значениями submit, reset, button. А вот ЗНАЧЕНИЯ "type" не наблюдается. Здесь ведь нельзя написать что-угодно, в отличие от значений для атрибутов name, id, value
15 февраля 2025
Я вам пояснил, что может быть в этой кнопке.. Что вы еще хотети услышать?