Разве не для этого нужны скрытые параметры ...?
<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 действия может содержать строку запроса.