Как при нажатии на кнопку открыть другую форму html
Перейти к содержимому

Как при нажатии на кнопку открыть другую форму html

  • автор:

Как кнопку сделать ссылкой?

В этом примере при щелчке по кнопке открывается веб-страница new.html в новой вкладке.

Одну форму нельзя вкладывать внутрь другой. Перед добавлением кнопки убедитесь что у вас только одна форма.

Использование CSS

Раз кнопку нельзя сделать ссылкой, то вообще отказываемся от и стилизуем ссылку, чтобы она стала похожа на кнопку. В примере 2 показан класс btn , при добавлении его к элементу ссылка меняет своё оформление.

Пример 2. Стилизация ссылки

Результат данного примера показан на рис. 1.

Стилизация ссылки

Рис. 1. Стилизация ссылки

Использование JavaScript

Для перехода к указанной веб-странице можно воспользоваться событием onclick, добавляя его к элементу . Внутри onclick пишем document.location , а в качестве значения адрес желаемой веб-страницы (пример 3). Обратите внимание на комбинацию кавычек, адрес веб-страницы берётся в одинарные кавычки.

Пример 3. Событие onclick

См. также

  • Атрибуты
  • Кнопки
  • Кнопки
  • Кнопки в Bootstrap 4
  • Кнопки в Bootstrap 5
  • Отправка данных формы
  • Отправка данных формы
  • Построение форм
  • Событие onclick
  • Создание кнопок
  • Создание форм
  • Сумасшедшие формы
  • Формы
  • Формы в Bootstrap 4
  • Формы в Bootstrap 5
  • Формы в HTML

Отправка формы в новую вкладку браузера

Иногда возникает вопрос – как отправить HTML-форму в новую вкладку браузера, например для отдельной страницы, где будет печать введённых данных?

Как и у ссылки, у элемента можно применить атрибут target (валидный только в HTML-5), который устанавливает поведение окна, при отправки формы.

_blank Загружает страницу в новое окно браузера
_self Загружает страницу в текущее окно (значение по умолчанию)
_parent Загружает страницу во фрейм-родитель, если фреймов нет, то это значение работает как _self
_top Отменяет все фреймы и загружает страницу в полном окне браузера, если фреймов нет, то это значение работает как _self .
Пример:
 

Минусом является то, что при нажатии любой кнопки type=»submit» форма отправится в новую вкладку браузера.

Отдельная кнопка

Если требуется разделить события кнопок, то можно добавлять атрибут target=»_blank» только при нажатии на кнопку «Распечатать» и после отправки формы его удалять с помощью JQuery.

 

Скрытая форма

Следующий вариант поможет, когда нужно отправить форму в новую вкладку и на другой URL. В данном примере все поля основной формы копируются в скрытую.

 

Как при нажатии на кнопку открыть другую форму html

Тег чтобы добавить на страницу кнопку.

Время чтения: меньше 5 мин

Открыть/закрыть навигацию по статье

  1. Кратко
  2. Пример
  3. Как понять
  4. Как пишется
  5. Атрибуты
  6. Подсказки
  7. На практике
    1. Дока Дог советует
    2. Алёна Батицкая советует
    1. Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?

    Контрибьюторы:

    Обновлено 24 апреля 2024

    Кратко

    Скопировать ссылку «Кратко» Скопировано

    создаёт кликабельную кнопку.

    Пример

    Скопировать ссылку «Пример» Скопировано

      button name="button">Нажми меняbutton>      

    Как понять

    Скопировать ссылку «Как понять» Скопировано

    С помощью CSS можно настроить внешний вид кнопки и текста на ней: шрифт, размер, цвет фона и другие параметры. А если ничего не менять, то будет выглядеть, как стандартная браузерная кнопка.

    На кнопку можно поместить любой HTML-элемент.

    Как пишется

    Скопировать ссылку «Как пишется» Скопировано

          form> button>. button> form>      

    Атрибуты

    Скопировать ссылку «Атрибуты» Скопировано

    К тегу можно применить любой универсальный атрибут, а также специфические атрибуты кнопок:

    • autofocus — делает так, чтобы при загрузке страницы кнопка уже была выбрана и подсвечена, так что её можно нажать с клавиатуры клавишей Enter.
    • disabled — делает кнопку неактивной: нажать на неё нельзя, по дефолту отображается серым цветом.
    • form — связывает кнопку с любой формой в документе через ID. Если ID не указан, то с предшествующей формой.
    • formaction — задаёт URL-адрес, на который отправляются данные после нажатия на кнопку.
    • formenctype — определяет формат файла, который пользователь может отправить при нажатии на кнопку. У него есть три значения:
      • application / x — www — form — urlencoded : стандартное значение, вместо пробелов ставится +, а символы, вроде русских букв, кодируются их шестнадцатеричными значениями (например, %D0%9F%D0%B5%D1%82%D1%8F вместо Петя ��);
      • multipart / form — data — используется, чтобы отправлять файлы, данные при этом не кодируются;
      • text / plain — буквы и другие символы не кодируются, вместо пробелов появляется +.
      • post — упаковывает данные формы в тело сообщения и передаёт их на сервер, объём данных зависит от настроек сервера;
      • get — добавляет данные из формы прямо в URL-адрес после знака «?», например https : / / site . ru / doc / ? name = Ivan&age = 27 здесь пары «имя=значение» разделяются символом «&», а объём данных не может превышать 4 Кб. Если добавить этот атрибут в кнопку, он переопределит атрибут method у всей формы.
      • _self : показывает данные в текущем окне. Это значение используется по умолчанию.
      • _blank : показывает данные в новом окне браузера — его используют чаще всего.
      • _parent : показывает данные внутри родительского элемента фрейма, а если такого нет, то загружает в текущем окне.
      • _top : отменяет все родительские фреймы и загружает страницу в полном окне браузера. Если родительских фреймов нет, то показывает данные в текущем окне.
      • submit : отправляет данные на сервер. Это также значение по умолчанию.
      • reset : удаляет введённые данные из формы.
      • button : просто кнопка. Действие для неё можно задать через скрипты.

      Подсказки

      Скопировать ссылку «Подсказки» Скопировано

      �� Если хочется, чтобы пользователь отправил данные вам на сервер по нажатию кнопки, то либо должен быть внутри контейнера , либо связан с формой при помощи атрибутов id и form :

          Введите ваш email  form id="login"> label> Введите ваш email input type="email" placeholder="Ваш email"> label> form> button type="submit" form="login">Отправитьbutton>      

      �� Тег с атрибутом type = «button | reset | submit» тоже создаёт кнопку, но проще стилизовать, так как внутрь можно добавить любой HTML-контент, например, , или .

      �� Если создаёте кнопку, которая не отправляет ничего на сервер, убедитесь, что задан атрибут type , иначе может вылезти ошибка.

      На практике

      Скопировать ссылку «На практике» Скопировано

      Дока Дог советует

      Скопировать ссылку «Дока Дог советует» Скопировано

      �� Но есть и другое мнение. Я вот использую крайне редко. Допустим, вам нужно отправить данные формы на сервер. Если нужна обычная квадратная кнопка с надписью «Отправить», то я ставлю , потому что проще верстать ��‍♂️

      Единственный случай, когда я использую — это когда нужно отправить данные из формы на сервер, но кнопка нужна посложнее: с картинкой, заливкой или особым шрифтом, например. В обычный картинку не вставить. А с тегом не хочется извращаться, потому что он по умолчанию не отправляет данные формы.

      Алёна Батицкая советует

      Скопировать ссылку «Алёна Батицкая советует» Скопировано

      �� При выборе между кнопкой и ссылкой нужно смотреть исключительно на семантику, а не на внешний вид элемента в дизайне и уж точно не на простоту вёрстки.

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

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

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

      Вадим Макеев в своём докладе «Жми сюда!» сформулировал следующий способ выбора между кнопкой и ссылкой:

      • В любой ситуации, где вам нужно выбирать, кнопка это или ссылка, выберите кнопку ( ).
      • Если вы можете дать какой-то адрес для перенаправления — тогда это ссылка ( ).
      • Всегда начинайте с кнопки.

      + Развернуть

      На собеседовании

      Скопировать ссылку «На собеседовании» Скопировано

      Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?

      Скопировать ссылку «Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?» Скопировано

      Скопировать ссылку «Александр Ламков отвечает» Скопировано

      Ощутимая разница между ссылками и кнопками в том, что «активация» элемента при фокусе с клавиатуры происходит по-разному. Для ссылок — клавишей Enter , а для кнопок — пробелом или Enter . Пользователь, привыкший перемещаться по интерфейсу сайта и взаимодействовать с ним с клавиатуры, получит неожиданное поведение при попытке взаимодействия с ложной ссылкой или кнопкой.

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

      С точки зрения доступности у ссылок и кнопок разные роли. У ссылок — link , у кнопок — button . Скринридер перед озвучиванием содержимого элемента произносит его роль. Если используете неправильные теги, роли перемешаются и это запутает пользователей скринридеров.

      Как сделать так, чтобы форма открывалась при нажатии на кнопку, которой на странице находится несколько штук?

      Всем привет, подскажите, пожалуйста, как сделать так, чтобы форма открывалась при нажатии на кнопку, которой на странице находится несколько штук? У меня есть кнопка и несколько ее копий на странице, и я хочу, чтобы если пользователь захотел нажать на кнопку, только на другом месте страницы, открывалась та же самая форма. Но, к сожалению, ее открывает, только самая первая кнопка, подскажите, пожалуйста, решение! Спасибо!

          

      Оставьте заявку

      #wrapperModal < display: none; position: fixed; width: 100%; height: 100%; z-index: 3; top: 8%; left: 20%; >#wrapperModal.active < display: block; >#overlayModal < position: absolute; top: -8%; left: -20%; width: 100%; height: 100%; z-index: 0; background-color: grey; opacity: 0.5; >.form-modal__body < width: 270px; min-height: 200px; background: #363A4D; border-radius: 20px; padding: 48px 51px 41px 50px; position: relative; >.form-modal__title < font-size: 24px; margin-bottom: 23px; >.close:before, .close:after < position: absolute; content: ' '; right: 28px; top: 16px; height: 18px; width: 2px; background-color: #7E839A; cursor: pointer; border-radius: 5px; >.close:before < transform: rotate(45deg); >.close:after < transform: rotate(-45deg); >.form-modal__label
      const btnForm = document.getElementById('open'); const modal = document.getElementById('wrapperModal'); const overlay = document.getElementById('overlayModal'); const close = document.getElementById('close'); btnForm.addEventListener('click', (e) => < e.preventDefault() modal.classList.add('active'); >); const closeModal = () => < modal.classList.remove('active'); >overlay.addEventListener('click',closeModal); close.addEventListener('click',closeModal);
      • Вопрос задан более двух лет назад
      • 800 просмотров

      4 комментария

      Средний 4 комментария

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *