Метод HTML-формы с красивым URL - PullRequest
0 голосов
/ 12 января 2010

Я просто хочу знать, есть ли способ ответить на этот вопрос "Да" без использования JavaScript.

Я хочу создать поисковую форму, которая автоматически генерирует URL-адреса, такие как http://example.com/search/my+search+term или что-то подобное, когда я ввожу my search term в текстовое поле поиска.

РЕДАКТИРОВАТЬ: Из-за некоторого неправильного понимания (и неясного с моей стороны), уточнение: я хочу, чтобы браузер генерировал этот URL на основе значения текстового поля при отправке формы.

Ответы [ 5 ]

3 голосов
/ 12 января 2010

Нет, это невозможно без использования JavaScript.

Лучшее, что вы можете сделать, это использовать действие GET и иметь URL-адрес, подобный http://example.com/search/?q=my+search+term,, где q - имя поля поиска ввода.

2 голосов
/ 13 января 2010

Использование только html, нет.

У вас может быть что-то на стороне сервера, которое может работать. Вы можете заставить сервер ответить кодом ответа 302. Если вы используете Apache, вы, вероятно, могли бы использовать mod_rewrite, чтобы получить запрос GET и сгенерировать новый URL.

Например, браузер может запросить http://example.com/search/?q=blah+foo+bar,, а затем сервер может принять это и отправить браузеру перенаправление 302 для http://example.com/search/blah+foo+bar.

Дополнительную информацию см. В Руководстве по переписыванию URL-адресов Apache, или с помощью своей любимой поисковой системы.

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

0 голосов
/ 13 января 2010

Нет, если вы хотите, чтобы это было на стороне клиента, если вы можете сделать это на стороне сервера (отправив форму), вы можете использовать что-то вроде PHP

0 голосов
/ 12 января 2010

Ответ Нет

0 голосов
/ 12 января 2010

Да, вы можете выполнить что-то подобное на стороне сервера довольно легко, если только вы не возражаете против отправки формы.

РЕДАКТИРОВАТЬ: После дальнейшего разъяснения автора в комментариях ниже: Это невозможно на чистом клиентском уровне без JavaScript или какого-либо другого клиентского инструмента, такого как Flash / Silverlight (который по общему признанию излишним).

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