O envio de um formulário com o JQuery Ajax resulta em várias solicitações (e envios)
Ocorreu um problema com os envios de formulários JQuery e não encontrei respostas em nenhum lugar. Se alguém pudesse lançar alguma luz sobre isso, seria muito apreciado.
O problema: na primeira vez em que envio o formulário, ele funciona bem. Masse eu enviar o mesmo formulário uma segunda vez, ele envia 2 solicitações, 3 solicitações na terceira vez e assim por diante.
Roteiro:
function postInvokeFunctionForm(functionId){
var formId = "#"+functionId+"-form";
var formUrl = "invokeFunction.html?functionId="+functionId
$(formId).submit(
function(){
$.ajax({
type: 'POST',
url: formUrl,
data: $(formId).serialize(),
success: function (data){
alert('successfully invoked function!' + data);
}
});
return false;
}
);
}
Formulário gerado dinamicamente:
<form action="" method="post" id="xxxxx-form" class="invokeFunctionForm">
<input name="functionId" value="xxxxx" readonly="readonly" style="visibility: hidden;" type="text">
<input value="Invoke" onclick="postInvokeFunctionForm(xxxxx);" type="submit">
</form>
Obviamente, isso é indesejável. A única solução em que consigo pensar é re-renderizar o formulário (gerado dinamicamente) após ser enviado, mas isso seria uma operação cara.
Esse é um problema conhecido nos envios de JQuery ajax ou estou perdendo algo óbvio? Talvez exista alguma forma de recursão?
Obrigado.