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();
}