JSFiddle - React, Tailwind, and code Playground
HTML
<form action="#" method="post" target="_blank" style="display:none" id="transport">
<input type="hidden" name="usuario" />
<input type="hidden" name="cliente" />
</form>
<a href="http://www.google.com" data-usuario="1" data-cliente="3" class="openLink">
Clique aqui
</a>
JavaScript
function extractData(link) {
var obj = {},
attributes = link.attributes,
count = attributes.length;
for(var i = 0; i < count; ++i) {
var prefixLocation = attributes[i].name.search('data-');
if(prefixLocation != -1) {
obj[attributes[i].name.substr(prefixLocation + 5)] = attributes[i].value;
}
}
return obj;
}
$(document).ready(function() {
$('.openLink').click(function(event) {
event.preventDefault();
$form = $('#transport');
var data = extractData(this); // Extrai os dados dos atributos customizados do link
// Preenche os dados no form
for(var attr in data) {
$form.find('input[name="' + attr + '"]').val(data[attr]);
}
// Atualiza o action do form com o href do link
$form.attr('action', this.href);
// Submete o form
$form.submit();
});
});