Edit: Ich habe das Problem behoben, indem ich einfach von vorne angefangen habe. Tut mir leid, dass ich eure Zeit verschwendet habe. Bitte stimmen Sie für die Schließung, wenn Sie so geneigt sind.
Ich habe Schwierigkeiten, die tatsächlichen Daten in einem Formular zu übermitteln, wenn die Eingabefelder über Javascript hinzugefügt werden. Die Felder werden angezeigt, und an der richtigen Stelle, aber wenn ich eine var_dump( Feldname) auf der Server-Seite zu tun, ist nichts angezeigt. Die Überprüfung mit Live-HTTP-Headern zeigt mir, dass der Browser nicht versucht, die dynamisch hinzugefügten Formularfelder zu übermitteln.
Muss ich meine dynamisch erstellten Formulareingaben irgendwie an das Formular "anhängen"?
Mein Code:
HTML
<form id="att_form" method="post" name="add_attachments" enctype="multipart/form-data" action="#">
<-- below input to prove form submits, just not the dyn added elements -->
<input name="data[one]" type="text" />
<div id="add_fields"></div>
<input type="submit" />
</form>
Javascript
function addFormField()
{
var id = 1;
var htm = "<p id='row" + id + "'><input type='text' size='20' name='txt[]' id='txt" + id + "' /></p>";
$("#add_fields".append( htm );
}
Wenn ich das Formular abschicke, wird meine Eingabe mit dem Namen data[one] als POST-Wert angezeigt, aber die mit addFormField() hinzugefügten Werte nicht. Sie erscheinen im HTML an der richtigen Stelle, werden aber nicht gepostet. Muss ich das Element als untergeordnetes Element an mein Formularelement anhängen, damit es übermittelt wird?
Ich habe gesehen Eingabefelder für das Absendeformular mit javascript hinzugefügt das ist, wo ich die Idee des Anhängens der Daten speziell auf das Formular Kind bekam, aber das wird einige Umstrukturierung meiner CSS erfordern. Also, ich hoffe, dass es etwas einfaches ich in den obigen Code tun können.
Vielen Dank im Voraus!
edit: Tippfehler korrigiert, funktioniert aber immer noch nicht. Ich habe beschlossen, die Bibliothek frei JS-Methode in der SO-Link oben diskutiert zu verwenden, wie das funktioniert gut. Vielen Dank für die Hilfe aber!