Das Senden eines Formulars mit JQuery Ajax führt zu mehreren Anforderungen (und Übermittlungen).
Ich bin auf ein Problem mit JQuery-Formularübermittlungen gestoßen und habe nirgendwo eine Antwort gefunden. Wenn jemand etwas Licht ins Dunkel bringen könnte, wäre es sehr dankbar.
Das Problem: Wenn ich das Formular zum ersten Mal abschicke, funktioniert es einwandfrei. Aberwenn ich dasselbe Formular ein zweites Mal abschicke, sendet es 2 Anfragen, 3 Anfragen das dritte Mal und so weiter.
Skript
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;
}
);
}
Dynamisch generiertes Formular:
<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>
Das ist natürlich unerwünscht. Die einzige Lösung, die ich mir vorstellen kann, ist das erneute Rendern des (dynamisch generierten) Formulars nach dem Absenden, aber das wäre eine teure Operation.
Ist dies ein bekanntes Problem mit JQuery-Ajax-Einsendungen oder fehlt mir etwas Offensichtliches? Gibt es vielleicht irgendeine Form von Rekursion?
Vielen Dank