Задать вопрос
sorry_i_noob
@sorry_i_noob

Почему если у тега form параметр method равен GET, то параметр в action не добавляется в url, а если POST, то добавляется?

Здравствуйте. Есть такой код:

<form action="/?m=find" method="GET">
    <h3>Найти книгу</h3>
    <p>По названию</p>
    <input name="findByTitle">
    <p>По автору</p>
    <input name="findByAuthorName">
    <br><br>
    <input type="submit" name="submitFind" value="Найти">
</form>

Если оставить так, как есть (method="GET"), то при нажатии на input с типом submit, в url будут параметры input'ы, но не будет параметра m. А если поставить method="POST", то будет только параметр m. Почему при GET нет параметра m?

И второй вопрос. Можно ли как-нибудь сделать так, чтобы и при GET параметр m тоже добавлялся в url?
  • Вопрос задан
  • 519 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
Immortal_pony
@Immortal_pony
Потому что при отправке методом GET строка параметров формируется из значений полей внутри формы.
Переместите параметр m внутрь формы. Вот так:
<input type="hidden" name="m" value="find">
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@bkosun
Используйте элемент типа hidden, чтобы добавить нужный параметр:

<input name="m" type="hidden" value="find">

https://developer.mozilla.org/en-US/docs/Web/HTML/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы