Зачем вводить поисковый ввод в тег формы? - PullRequest
3 голосов
/ 18 мая 2009

Я обнаружил, что SO помещает поисковый ввод в тег формы, и я обнаружил, что некоторые другие веб-сайты делают то же самое, например, Google, они помещают поисковый ввод и кнопку поиска внутри этого:

<form action="/search" method="get" name="gs" id="tsf">

Я просто хочу узнать о преимуществах этого, потому что это кажется обычным делом, и я скучаю по нему.

Ответы [ 6 ]

8 голосов
/ 18 мая 2009

Как насчет того, чтобы прочитать учебник по HTML-формам ?

Данные, введенные в форму, должны быть отправлены на сервер. Атрибут action сообщает браузеру , какой сервер.

Кроме того, существует два распространенных способа отправки данных: через POST (в заголовке HTTP) и через GET (как часть строки запроса, часть после знак вопроса в URL). Какой метод необходимо использовать, указано в атрибуте method.

POST обычно используется, когда данные должны быть представлены только один раз или должны быть конфиденциальными (например, регистрация на сайте или вход на сайт). GET используется для данных, которые могут отправляться так часто, как это необходимо (поскольку результирующий URL содержит строку запроса, которую можно, например, добавить в закладки). Пример: поисковые запросы Google отправляются с использованием GET, но для входа в учетную запись GMail используется POST. Более подробное объяснение можно найти здесь .

Редактировать : ниже вы спрашиваете, почему всю страницу нельзя просто обернуть в один тег формы. Как правильно отвечает divo : у вас может быть несколько форм, которые можно отправлять на разные серверы. Например, вы можете предоставить два текстовых поля на своей веб-странице: одно позволяет искать на сайте с помощью Google, а другое - с помощью Yahoo. С небольшим творческим подходом на ум придет другое использование.

Редактировать 2 :

Можете ли вы указать другой учебник? В W3Schools есть ошибки. - Дэвид Дорвард 10 минут назад

Если это так (я не проверял), эти два выглядят многообещающе:

4 голосов
/ 18 мая 2009

Атрибут action элемента <form> сообщает браузеру, какой URL на сервере отвечает за обработку формы.

0 голосов
/ 18 мая 2009

Я понял причину, которая очень проста:

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

0 голосов
/ 18 мая 2009

Это может быть немного натянуто, но на основании вашего сайта www.igurr.com я думаю, что вы действительно спрашиваете:

Почему я не должен размещать тег формы на своей странице, чтобы получить возможность отправлять обратно?

Это связано с тем, что ASP.NET автоматически добавляет для вас тег form сразу после тега body:

<form name="aspnetForm" method="post" action="/default.aspx" id="aspnetForm">
0 голосов
/ 18 мая 2009

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

www.w3schools.com и другие имеют несколько великолепных руководств по созданию форм.

Теоретически вы можете использовать JavaScript для отправки информации без явного ввода формы, но если у клиента отключен JavaScript, он никогда не будет работать - тогда как использование HTML будет работать постоянно

0 голосов
/ 18 мая 2009

Как еще вы бы передали поисковый запрос на сервер? Причина ввода внутри тега формы заключается в том, что браузер может отправить значение серверу для обработки.

Редактировать: Чтобы лучше понять, я бы посоветовал вам прочитать HTML-формы и ввод .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...