Вообще я всегда обходил эту проблему так. Передавать переменные в одном массиве - var[0], var[1], ..., var[n] - обычно не критично, если при обработоке они нужны в массиве, то можно их при обработке в него и записать, а передавать как var0, var1, ..., varn. Для этого случая, с учетом того, что количество инпутов заранее не известно (то есть его нужно передать функции), можно сделать так: