JSFiddle - React, Tailwind, and code Playground
by skram
HTML
<form>
<input type="radio" name="c_rad" value="yes"/>yes
<input type="radio" name="c_rad" value="no"/>no<br/>
<input type="text" name="text_disp"/><br/>
<input type="checkbox" name="a_disp"/><br/>
<input type="checkbox" name="b_disp"/>
</form>
<button id="b">submit</button>
JavaScript
$('#b').click(function() {
alert($('form').serialize());
});
$.fn.serializeArray = function () {
var rselectTextarea= /^(?:select|textarea)/i;
var rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i;
var rCRLF = /\r?\n/g;
return this.map(function () {
return this.elements ? jQuery.makeArray(this.elements) : this;
}).filter(function () {
return this.name && !this.disabled && (this.checked || rselectTextarea.test(this.nodeName) || rinput.test(this.type) || this.type == "checkbox");
}).map(function (i, elem) {
var val = jQuery(this).val();
if (this.type == 'checkbox' && this.checked === false) {
val = 'off';
}
return val == null ? null : jQuery.isArray(val) ? jQuery.map(val, function (val, i) {
return {
name: elem.name,
value: val.replace(rCRLF, "\r\n")
};
}) : {
name: elem.name,
value: val.replace(rCRLF, "\r\n")
};
}).get();
}