formulario serializar javascript (sin marco)

Resuelto RussellHarrower asked hace 12 años • 25 respuestas

¿Me pregunto si existe una función en javascript sin jquery o algún marco que me permita serializar el formulario y acceder a la versión serializada?

RussellHarrower avatar Jul 26 '12 08:07 RussellHarrower
Aceptado

Actualización 2023:

Usar FormData:

const form = document.querySelector('form');
const params = new FormData(form);
const request = new XMLHttpRequest();
request.send(params);

Aunque parece funcionar sólo para POSTsolicitudes.

Artur INTECH avatar Oct 22 '2014 06:10 Artur INTECH

Solo para navegadores modernos

Si apunta a navegadores que admiten la URLSearchParamsAPI ( navegadores más recientes ) y FormData(formElement)el constructor ( navegadores más recientes ), use esto:

new URLSearchParams(new FormData(formElement)).toString()

En todas partes excepto IE

Para los navegadores que admiten URLSearchParamspero no el FormData(formElement)constructor, utilice este polyfill de FormData y este código (funciona en todas partes excepto en IE):

new URLSearchParams(Array.from(new FormData(formElement))).toString()

Ejemplo

Mostrar fragmento de código

Compatible con IE 10

Para navegadores aún más antiguos (por ejemplo, IE 10), utilice el polyfill FormData , un Array.frompolyfill si es necesario y este código:

Array.from(
  new FormData(formElement),
  function(e) { return e.map(encodeURIComponent).join('='); }
).join('&')
glebm avatar May 17 '2017 19:05 glebm

La biblioteca en miniatura de serialización no depende de un marco. Aparte de algo así, necesitarás implementar la función de serialización tú mismo. (aunque con un peso de 1,2 kilobytes, ¿por qué no usarlo?)

Lusitanian avatar Jul 26 '2012 01:07 Lusitanian