Hola,
personalmente 48 preguntas se me hacen muchas para mostrarlas de golpe.
My two cents: puedes paginar la encuesta para que sólo aparezcan las diez primeras preguntas. Si el usuario no quiere seguir, simplemente le agradeces su atención (aquí sí puedes usar AJAX para dar el efecto de "loading" a la forma
) y evitas dos cosas: que él/ella se fastidie con una página gigante que de todos modos no le interesa y tú tener que lidiar con un javascript igualmente monumental (aunque la idea de
gvargas es buena, llamar a los elementos con nombres comunes -caja1, etc.- va un tanto en contra de la semántica que debe tener una nomenclatura HTML y tarde o temprano acaba siendo una lata para mantener -me ha pasado-).