Значение #
в качестве ссылки на URL-адрес (в виде action
или formaction
значения атрибута или иным образом) является ссылкой на начало текущего базового документа.Базовый документ является текущим документом, если не был установлен тег <base href=...>
.
Что происходит, зависит от ситуации.Как правило, браузер запрашивает страницу снова с частью запроса в URL (и страница загружается снова, что может означать, что клиентские сценарии выполняются), но если тот же запрос использовался ранее, браузер, вероятно, используетего кеш.Более того, при упоминании начала документа фокус на любом элементе формы теряется, и страница может прокручиваться назад.
Так что, хотя #
довольно распространено в некоторых стилях кодирования, оно ненадежно;его цель лучше достигается с помощью обработчиков событий на стороне клиента.
Атрибут formaction
имеет значение только для кнопок отправки.Элемент ввода текста не представляет собой кнопку отправки, даже если он может инициировать отправку формы, поэтому здесь атрибут игнорируется.