Serialize form data into a query string, array, object, or JSON string.
The easiest way to get started is by using the jsDelivr CDN via an HTML <script></script> tag.
Serialize uses semantic versioning. You can grab a major, minor, or patch version from the CDN with the @1.2.3 syntax. You can find all available versions under releases.
<script src="https://cdn.jsdelivr.net/npm/@kieranbarker/serialize@1/dist/serialize.min.js"></script>You can also download the files directly from GitHub.
Compiled and production-ready code can be found in the dist directory. The src directory contains development code.
<script src="path/to/serialize.min.js"></script>Serialize also supports modern browsers and module bundlers (Rollup, Webpack, Snowpack, etc.) using the ES module import syntax. Use the .es version.
import { Serialize } from 'https://cdn.jsdelivr.net/npm/@kieranbarker/serialize@1/dist/serialize.es.min.js';You can also use npm. First, install the package via the command line.
npm i @kieranbarker/serializeThen import the package.
const { Serialize } = require('@kieranbarker/serialize');If you use RequireJS, SystemJS, or another AMD format, you can import Serialize with the .amd version.
requirejs(['https://cdn.jsdelivr.net/npm/@kieranbarker/serialize@1/dist/serialize.amd.min.js'], function ({ Serialize }) {
//...
});To create a new Serialize instance, simply instantiate the class using the new operator.
You pass in an HTMLFormElement.
NOTE: Each form field needs to have a name attribute.
I'm using the document.forms property throughout this documentation:
const serialize = new Serialize(document.forms[0]);But you can select a form any way you like:
const form = document.querySelector('form');
const serialize = new Serialize(form);Serialize all form data into a query string.
Parameters: None.
Returns: {String} The serialized form data.
document.forms[0].addEventListener('submit', function (event) {
event.preventDefault();
const data = new Serialize(this).string();
console.log(data);
});Serialize all form data into an array.
Parameters: None.
Returns: {Array} The serialized form data.
document.forms[0].addEventListener('submit', function (event) {
event.preventDefault();
const data = new Serialize(this).array();
console.log(data);
});Serialize all form data into an object.
Parameters: None.
Returns: {Object} The serialized form data.
document.forms[0].addEventListener('submit', function (event) {
event.preventDefault();
const data = new Serialize(this).object();
console.log(data);
});Serialize all form data into a JSON string.
Parameters: None.
Returns: {String} The serialized form data.
document.forms[0].addEventListener('submit', function (event) {
event.preventDefault();
const data = new Serialize(this).json();
console.log(data);
});