2013-12-21 4 views

ответ

0

Первые рассасывается к URL текущей страницы * (сохраняющих любой идентификатор фрагмента в URL, и вы могли бы также опустить action атрибут целиком), другой в верхней части страницы (удаление любого идентификатора фрагмента, который существует там уже).


* Учитывая нормальное разрешение URL, я думаю, было бы решить до последнего / перед строкой запроса и фрагмента идентификатора в URL текущей страницы, но HTML 5 special cases empty strings here (step 8) (предположительно, для обратной совместимости, поскольку большинство браузеров внедрили его так исторически).

+0

Пожалуйста, вы можете дать краткий пример? –

+0

Пример чего? – Quentin

6

Первый ("") разрешает базовый URL-адрес, а второй (#) разрешает URL-адрес документа.

Следующая вполне допустимо:

<form action="" method="post"> 
    <p><input type="submit"/></p> 
</form> 

Теперь берегись, в соответствии с HTML4 specification, атрибут action является обязательным, и он должен содержать действительный URI. Но в соответствии с URI RFC, пустой URI еще URI:

URI, ссылка, которая не содержит URI является ссылкой на текущий документ. Другими словами, пустая ссылка URI в документе интерпретируется как ссылка на начало этого документа, а ссылка, содержащая только идентификатор фрагмента, является ссылкой на идентифицированный фрагмент этого документа. Обход такой ссылки не должен приводить к дополнительному поисковому действию. Однако, если ссылка URI встречается в контексте, который всегда предназначен для получения нового запроса, как и в случае элемента FORM HTML, тогда пустая ссылка URI представляет базовый URI текущего документа и должна быть заменена этим URI при преобразовании в запрос.

(экстракт из this page)


Хотя это является обязательным, большинство, если не все браузеры будут отправлять обратно отправителю ответ, если не указано атрибут действия.

И в HTML5 атрибут action не является обязательным. Из specs:

атрибутов контента действий и formaction, если указано, должен иметь значение, которое является действительным непустой URL потенциально окружен пробелами.

Похожие:

+0

не могли бы вы привести краткий пример? –

+0

@ user3110335: Пример для чего? –

+0

Атрибут action является необязательным с HTML 5, а HTML 5 имеет специальную обработку для пустых значений атрибутов действия, которые срабатывают до разрешения URI. – Quentin

Смежные вопросы