Busqué y busqué, pero no encuentro "LA" solución.

Mi problema surge a raiz de que deseo enviar POST por medio de AJAX. Esto lo conseguí, pero caí en cuenta que cada vez que quiero realizar un nuevo POST, debo agregar una nueva función JS para cada formulario.

Es decir:

escribió:


Tengo un formulario (name=login) con dos campos (id=usuario,id=contrasena). Entonces en mi función JS recupero estos dos datos mediante document.getElementById(usuario/contrasena).value.

Luego tengo OTRO formulario (name=consulta) con TRES campos (id=nombre;id=asunto;id=mensaje). Para procesar ahora este otro formulario, necesito otra función JS que recupere los valores mediante document.getElementById(nombre/asunto/contrasena).

Y por cada formulario, donde los campos contengan id's diferentes, tengo que armar una función. No es gran problema, pero pierdo tiempo en formularios grandes (10 campos o mayores).


Mi consulta:

¿No existe forma de que con JS (alguna función predeterminada o lo que fuere) recupere TODOS los values (inputs/textareas/etc) de un formulario (fuese del tamaño que fuese) y pasarlo al PHP en cuestión?


Un acercamiento:

Con JS, antes del xml.send(), hice una función que recorre todos los inputs del documento y luego fuí sumando estos valores y guasrdarlos en una variable (str = str + input[i].name + '=' input[i].value) y luego pasarlo a xml.send(str).


¿Deberé hacer esto para tener UNA función para TODOS los formularios? ¿Qué me recomiendan?

Gracias