Что делают <form action="#"> и <form method="post" action="#">?
Я читаю книгу о разработке html (которую я довольно новичок), и несмотря на то, что книга только что опубликовала ее 1 месяц назад (ноябрь 2011 г.), автор опытный кодер и, возможно, использование #
для действия в форме - это старая школа?
Потому что я пытаюсь получить суть кода образца, и я не могу найти объяснение form action="#"
, несмотря на поиск
<form action="#">
на google, на SO и на www.w3schools.com.
Кто-нибудь знает, что означает действие #
для форм?
Ответы
Ответ 1
Действие обычно указывает файл/страницу, на которую отправляется форма (с использованием метода, описанного в методе paramater (post, get и т.д.))
Действие #
указывает, что форма остается на одной странице, просто суффикс url с помощью #
. Подобное использование происходит в якорях. <a href=#">Link</a>
, например, останется на одной странице.
Таким образом, форма отправляется на ту же страницу, которая затем обрабатывает данные и т.д.
Ответ 2
action=""
будет разрешен адрес страницы. action="#"
будет разрешен адрес страницы + #
, что будет означать пустой идентификатор фрагмента.
Выполнение последнего может препятствовать навигации (новая загрузка) на одну и ту же страницу и вместо этого попытаться перейти к элементу с идентификатором в идентификаторе фрагмента. Но, поскольку он пуст, он никуда не прыгнет.
Обычно авторы просто помещают #
в href-подобные атрибуты, когда они не будут использовать атрибут, где они используют скрипты. В этих случаях они могли бы просто использовать action=""
(или опустить его, если позволяет проверка).
Ответ 3
Очевидно, "действие" требовалось до HTML5 (а # было просто подставкой), но вам больше не нужно его использовать. - https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data
Ответ 4
Тег # позволяет отправлять данные в один и тот же файл. Я рассматриваю это как трехэтапный процесс:
- Запросить базу данных для заполнения из
- Разрешить пользователю изменять данные в форме
- Повторно подайте данные в БД через PHP скрипт
С помощью метода = '#' вы можете сделать все это в том же файле.
После выполнения запроса отправки страница перезагрузится с обновленными данными из БД.