Hallo Ihr Alle
Wahrscheinlich lacht Ihr wieder über meine Workarounds, weil ich nicht weiß, wie's einfacher geht...
Also:
Ich möchte mittels eines Formulars Werte von Variablen an ein PHP-Skript übergeben, mit dem Haken, dass ich die Variablennamen erst während der Eingabe erzeuge. So dass ich im $_POST array später key => values in der Form
dynamischerVariablenname1 => Inhalt1
dynamischerVariablenname2 => Inhalt2
dynamischerVariablenname3 => Inhalt3
vorliegen habe.
Meine Idee dazu war, mit Javascript neue versteckte Input-Elemente in den Elementebaum einzufügen.
Damit Ihr seht, wie ich das gemacht habe, hier ein Demonstrationsmodell:
<html><head><title>WIE bring ich das zum Funktionieren?</title>
<script type="text/javascript">
var zaehler=1;
function erzeugeEingabefeld() {
var newInput = document.createElement("input");
document.getElementById("Formular").insertBefore(newInput, document.getElementsByTagName("input")[0]);
var Name = document.createAttribute("name");
Name.nodeValue = "meinTest"+zaehler;
document.getElementsByTagName("input")[0].setAttributeNode(Name);
Inhalt = document.createAttribute("value");
Inhalt.nodeValue = "Das hier ist der Inhalt meines "+zaehler+". eingefügten Eingabefeldes";
document.getElementsByTagName("input")[0].setAttributeNode(Inhalt);
Typ = document.createAttribute("type");
Typ.nodeValue = "hidden"; //Hier soll im Endeffekt "hidden" stehen, zu Demonstrationszwecken steht hier aber "button"
document.getElementsByTagName("input")[0].setAttributeNode(Typ);
zaehler++;
}
</script>
</head>
<body>
<FORM ID="Formular" ACTION="PHP-Skript" METHOD="POST">
<INPUT TYPE="text" Id="dummy" SIZE="50" VALUE="input [0] Feld für insertBefore Befehl">
</FORM>
<a href="javascript:erzeugeEingabefeld()">Eingabefeld erzeugen</a><br>
</body></html>
Das scheint erstmal zu funktionieren (obwohl ich sicher bin, dass es auch eine viel kürzere Form geben sollte), ABER:
Der Internet Explorer beachtet meine Typzuweisung im INPUT-TAG nicht, sondern erzeugt lauter sichtbare Inputs vom Type="text".
Das soll natürlich auf keinen Fall passieren!
Was kann ich tun?
Vielen Dank schonmal fürs Angucken
*Alex*