Ну почему же "костыли"? По-другому, без формы, и не получится
Так что это не костыль, а вполне нормальный, рабочий момент.
В ссылке, что тебе уже дали, форма создается "на лету". Но ты можешь также и сразу, при создании страницы, сделать скрытую форму, со скрытыми элементами. Затем, когда необходимо, средствами JS выставляешь нужные значения у определенных элементов и делаешь программный сабмит формы (аналогично тому, как по ссылке показано).
Если у тебя есть желание остаться на этой странице, но данные все равно передать куда-то, то можно сделать сабмит формы не на другую страницу, а в скрытый же iframe на этой странице. С программной точки зрения (для сервера), это будет аналогично переходу на новую страницу. Но с точки зрения браузера и пользователя это будет немного по-другому.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)