Files
30-seconds-of-code/snippets/formToObject.md
2019-03-13 15:50:06 +03:00

542 B

formToObject

Serializes a form into an object.

First we transform the form into FormData, then we convert it into an array and from the array we collect an object

const formToObject = form =>
  Array.from(new FormData(form))
    .reduce((acc, [key, value]) => ({
      ...acc,
      [key]: value,
    }), {})
<form id="form">
  <input name="email" type="email" />
  <input name="name" />
</form>
formToObject(document.querySelector('#form')) // { email: 'test@email.com', name: 'Test Name' }