Wie concat-zwei strings und verwenden Sie das Ergebnis als den Namen einer Variablen in coldfusion?
Habe ich eine form, welche viele Felder im format
- name="field-1"
- name="field-2"
- name="field-3"
- name="field-4"
- etc....
Auf dem Formular-action Seite, ich möchte in der Lage sein, um eine Schleife verwenden und in der Lage sein zu verwenden, den index der Schleife concat mit einem string-Präfix wie diese <cfset newField = "field-" & #index#>
und verwenden Sie dann die #Variables.newField#
Zugriff auf das Formular-Feld auf der vorherigen Seite.
Ich habe das Spiel mit der Evaluate()
Funktion, aber kein Glück. Ich glaube nicht, verwenden Sie ColdFusion viel, so kann ich nur ein wenig auf die syntax.
Ein Beispiel, wie ich es mit ist:
<cfset newField = "form.field-" & #index#>
<input type="hidden"
name="field-<cfoutput>#index#</cfoutput>"
value="<cfoutput>Evaluate(Variables.newField)</cfoutput>">
- Es ist nur Ausgänge bilden.Feld-1, bilden.Feld 2 und so weiter. Ich brauche den Wert im Formular gespeichert.Feld-1, nicht den text "form.Feld-1".
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du musst Sie nicht verwenden, bewerten an alle für diesen Fall. Nur Zugriff auf die Variablen von struct-Taste name.
oder nur
oder wenn Sie nicht möchten, dass ein zwischengeschaltetes variable
<cfset value = form["field-#index#"]>
. Ich danke Ihnen sehr, und ich warte weitere 5 Minuten, bevor ich kann Ihnen Kredit, aber ich werde. :-).Es gibt keine Notwendigkeit, legen Sie es auf die
variables
Umfang. Innerhalb der Schleife können Sie einfach auf das Formularfeld-Werte über das assoziative array-notation, die direkt aus derform
Umfang wie diese:Für zusätzliche Sicherheit, es wäre klug zu prüfen, die Existenz von jedem Formular-Feld, bevor Sie versuchen, um es anzuzeigen: