Ich habe ein Formular, das ich über die jQuery-Funktion ajaxSubmit vom Forms-Plugin aus einsende. Ich versuche, ein Formular Name / Wert-Paar zu den Formulardaten kurz vor dem Einreichen hinzuzufügen. Mein Plan ist, die Formulardaten im beforeSubmit Ereignishandler zu ändern.
Gegeben eine Funktion, die wie folgt aussieht:
%Vor%Wie füge ich ein einfaches Paar zu formData hinzu? Es ist ein Array in der Form:
%Vor%Danke, Brian
Das ist in Ordnung:
%Vor%Aus irgendeinem Grund funktionierte das Ändern der Daten im beforeSubmit-Callback für mich nicht, als ich auf dieses Problem stieß.
Das Zuweisen eines Objekts zu "Daten" in den Formularoptionen führte jedoch dazu, dass dieses Objekt an die serialisierten Daten angehängt wurde. Dies ist nicht explizit auf der jquery-Formular-Website dokumentiert, sondern Teil der zugrunde liegenden $ .ajax-Methode.
formData [0] .value = 'neuer Wert'; funktioniert gut in AjaxSubmit (). Ich hatte dasselbe implementiert, während ich den Dateiinhalt dynamisch hochlade. Früher nach so viel Zeit, Formular senden leere Daten in Server, so dass dieser Code hilfreich zu ändern, bevor Sie Ihr Formular absenden.
Nach einer Stunde Experimentieren habe ich eine Lösung gefunden. Um einen Wert an die Formulardaten anzufügen, funktioniert der folgende Code.
%Vor%Sie können die Daten auch ändern, wenn Sie den Index des Werts kennen, den Sie ändern möchten, z. B.
%Vor%Ich hoffe, das hilft jemand anderem.