Ich möchte ein Formular mit jQuery übermitteln. Kann jemand den Code, eine Demo oder ein Beispiel Link zur Verfügung stellen?
Antworten
Zu viele Anzeigen?Beachten Sie, dass es im Internet Explorer Probleme mit dynamisch erstellten Formularen gibt. Ein auf diese Weise erstelltes Formular lässt sich im IE (9) nicht absenden:
var form = $('<form method="post" action="/test/Delete/">' +
'<input type="hidden" name="id" value="' + myid + '"></form>');
$(form).submit();
Damit es im IE funktioniert, erstellen Sie das Formularelement und fügen es vor dem Absenden wie folgt an:
var form = document.createElement("form");
$(form).attr("action", "/test/Delete")
.attr("method", "post");
$(form).html('<input type="hidden" name="id" value="' + myid + '" />');
document.body.appendChild(form);
$(form).submit();
document.body.removeChild(form);
Das Erstellen des Formulars wie in Beispiel 1 und das anschließende Anhängen funktioniert nicht - im IE9 wird ein JScript-Fehler ausgelöst DOM Exception: HIERARCHY_REQUEST_ERR (3)
Props an Tommy W @ https://stackoverflow.com/a/6694054/694325
Die bisherigen Lösungen setzen voraus, dass Sie die ID des Formulars kennen.
Verwenden Sie diesen Code, um das Formular abzuschicken, ohne dass Sie die ID kennen müssen:
function handleForm(field) {
$(field).closest("form").submit();
}
Wenn Sie zum Beispiel das Klick-Ereignis für eine Schaltfläche behandeln möchten, könnten Sie Folgendes verwenden
$("#buttonID").click(function() {
handleForm(this);
});