Отправка HTML-формы с GET и дополнительными аргументами - PullRequest
0 голосов
/ 05 марта 2012

Вот моя ситуация, у меня есть страница с формой. Форма - это просто запрос, поэтому я использую метод "GET". У меня есть переменная, которую я передаю как токен, переменная имеет вид "x = 2 & y = 5", так как переменная передается на мою страницу в виде закодированного URL, это просто дополнительная работа, чтобы разобрать ее в словарь из {'x': 2, 'y': 5}. Что было бы идеально, это что-то вроде следующего:

<form method="GET" action="/path/to/action/?x=2&y=5">
    <input type="text" name="some_other_val">
    ... more inputs here etc.
</form>

К сожалению, когда я делаю это таким образом, браузер стирает окончание x = 2 & y = 5 и просто добавляет поля формы в качестве аргументов. Причина, по которой я не просто использую <input type="hidden" name="x" value="2">, заключается в том, что, как я сказал, строка уже находится в этой форме, и мне нужно было бы ее специально декодировать. Добавить значение в конец URL-адреса действия проще. Любые предложения будут ценны. Обратите внимание, что я нашел очень похожую ветку об этом здесь , добавив параметры URL в форму PHP HTML , но ни одно из представленных решений не решило мою основную проблему. Я также попробовал добавить «&» в конце, но это тоже не сработало! Можно ли делать то, что я хочу?

1 Ответ

4 голосов
/ 05 марта 2012

Вы должны использовать скрытые элементы формы для дополнительных параметров, как вы описали:

<input type="hidden" id="x" value="2" />
<input type="hidden" id="y" value="5" />

Это гарантирует, что параметры будут правильно отображаться в URL при использовании GET вместоо том, что меня удаляют.

Я не совсем возражаю против них, так как, если вы можете добавить их к действию формы, вы сможете просто легко изменить это на hidden элементы формы.

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