Разве не для этого нужны скрытые параметры ...?
<form action="http://www.example.com" method="GET">
<input type="hidden" name="a" value="1" />
<input type="hidden" name="b" value="2" />
<input type="hidden" name="c" value="3" />
<input type="submit" />
</form>
Я бы не рассчитывал, что браузер сохранит существующую строку запроса в URL-адресе действия.
Как указано в спецификациях ( RFC1866 , стр. 46; HTML 4.x , раздел 17.13.3):
Если метод "get" и действие представляет собой HTTP URI, пользовательский агент принимает значение action и добавляет `? ' к нему затем добавляется набор данных формы, закодированный с использованием типа контента application / x-www-form-urlencoded.
Может быть, кто-то может кодировать URL-адрес действия для встраивания знака вопроса и параметров, а затем скрестить пальцы, надеясь, что все браузеры оставят этот URL-адрес таким (и подтвердит, что сервер его тоже понимает). Но я бы никогда не положился на это.
Кстати: для не скрытых полей формы это не отличается. Для POST URL действия может содержать строку запроса.