add serializeForm snippet
This commit is contained in:
25
snippets/serializeForm.md
Normal file
25
snippets/serializeForm.md
Normal file
@ -0,0 +1,25 @@
|
||||
### serializeForm
|
||||
|
||||
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`
|
||||
|
||||
```js
|
||||
const serializeForm = form =>
|
||||
Array.from(new FormData(form))
|
||||
.reduce((acc, [key, value]) => ({
|
||||
...acc,
|
||||
[key]: value,
|
||||
}), {})
|
||||
```
|
||||
|
||||
```html
|
||||
<form id="form">
|
||||
<input name="email" type="email" />
|
||||
<input name="name" />
|
||||
</form>
|
||||
```
|
||||
|
||||
```js
|
||||
serializeForm(document.querySelector('#form')) // { email: 'test@email.com', name: 'Test Name' }
|
||||
```
|
||||
@ -264,6 +264,7 @@ sampleSize:array,random,intermediate
|
||||
scrollToTop:browser,intermediate
|
||||
sdbm:math,utility,intermediate
|
||||
serializeCookie:utility,string,intermediate
|
||||
serializeForm:browser,beginner,utility
|
||||
setStyle:browser,beginner
|
||||
shallowClone:object,beginner
|
||||
shank:array,intermediate
|
||||
|
||||
Reference in New Issue
Block a user