Форма GET без имени параметра - PullRequest
2 голосов
/ 28 мая 2011
<FORM METHOD=GET ACTION="../cgi-bin/mycgi.pl">
<INPUT NAME="town"><BR>
<INPUT TYPE=SUBMIT>
</FORM>

Перенаправит нас на ../cgi-bin/mycgi.pl?town=example

, но я хочу перенаправить на ../cgi-bin/mycgi.pl?example

Это значит, удалить имя параметра в URI?

Я пытаюсь гуглить, но ничего подобного не нашел.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 28 мая 2011

Нет, вы не можете удалить имя параметра из стандартного запроса GET. Это общий способ, как HTTP-запрос сделан. Все параметры должны иметь имя, и поэтому оно будет парой (имя = значение) для каждого входа.

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

Что-то вроде:

<script type="text/javascript">
var elem = document.getElementById("town");
window.location = "path_to_script/mycgi.pl?"+elem.value
</script>

Но в html вы должны указать свой город следующим образом

<input type="text" name="town" id="town" />
1 голос
/ 28 мая 2011

GET всегда будет публиковать переменные со строкой запроса, начинающейся как? Variable = value & variable2 = value2 "

То, что вы могли бы сделать, это отправить форму себе, удалив тег ACTION, и использовать method = post. Затем выполните синтаксический анализ $ _REQUEST ['POST'] и создайте URL-адрес, который вам нужен, и перенаправьте на созданный URL-адрес.

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