Очень абстрактный вопрос и не как не связан с битриксом :) Получение значения элементов формы нужно через свойство value.
[URL=https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement]https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement[/URL]
То есть сначала например querySelector(или аналог или обертка), а потом свойство value полученного элемента.
Все другие методы это лиш обертки, с какимито обработчиками или хаками. Что использовать это зависет от частного случая. Скажем нужна валидация по длине или валидация по регулярке, потом нужно писать тексты ошибок или подсказок, плюс многоязычность, плюс серверная валидация, сверка с базой, как текстовых так и файловых элементов формы. Потом обнаруживеться что все валидации уже есть в готовых распростаненых библиотеках, и тогда с формой уже работаете через апи и вообще не работаете со значениями формы. Например просто в дата артибутах элементах формы просто описывате правила.
Я как правило не делаю serialize, так как не хочу отсылать прям все все все в форме и прям в таком формате как ввели. Как правило у меня валидация. А значит надо работать с элементами формы по штучно и каждый разбирать и валидировать, хотя бы по типу поля. Но serialize метод вполне правильный, если это в рамках приложения. Вариантов работы с формой океан и два ведерка. Самое главное - читабельность кода, помимо того, что код рабочий, быстрый и кроссбраузерный, что бы вы могли понять что писали и в будущем могли доработать.
Мой основной тезис - не циклитесь на битриксе в плане ajax. JS битрикса не просто так почти не документирован.
----
Да еще есть autocomplete с разных баз, например выбор города по кладр/фиас. А еще есть мастер настройки, навигаторы, конструкторы. А еще форма может быть сделана без элементов формы, а на дивах, какой нить интерактивный виджет. а еще... а еще... а еще.