<form name = 'test' >
<input type='text' name = 'login'>
<input type='email' name = 'email'>
</form>
If I use JSON.serialize($(form)).serializeArray();
I get [{"name":"login","value":"a value"},{"name":"email","value":"a email"}]
while I need {"login":"a login","email":"a email"}
. How to do that??
You can pass the <form>
to FormData()
, iterate key, value pairs of FormData
instance, set each key and value to an object property and value
let form = document.forms["test"];
let fd = new FormData(form);
let data = {};
for (let [key, prop] of fd) {
data[key] = prop;
}
data = JSON.stringify(data, null, 2);
console.log(data);
<form name='test'>
<input type='text' name='login' value="a login">
<input type='email' name='email' value="a email">
</form>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With