JSFiddle - React, Tailwind, and code Playground
HTML
<form>
<input type="hidden" name="test1" value="val" />
<input type="hidden" name="test2" value="val" />
<input type="hidden" name="test1" value="val" />
</form>
<pre></pre>
JavaScript
$("pre").html(decodeURI(serializeWithDuplicates("form")));
function serializeWithDuplicates(form) {
var pairs = $(form).serializeArray();
for (var i = 0; i < pairs.length; i++)
for (var j = i + 1; j < pairs.length; j++)
if (pairs[i].name === pairs[j].name)
pairs[i].isDuplicate = pairs[j].isDuplicate = true;
for (var i = 0; i < pairs.length; i++)
if (pairs[i].isDuplicate)
pairs[i].name += "[]";
return $.param(pairs);
}