PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array aus Formular


~Paladin~
13.09.2004, 12:25
Habe folgendes Problem:

Ich bin neu nach asp eingestiegen und stelle grade eine Anwendung von php nach asp um. Dabei suche ich nun eine Lösung für ein Problem, dass ich in php folgendermasen gelöst habe:

Ich habe ein Formular indem eine mir unbekannte Anzahl an Eingabefeldern erzeugt wird. Für diese Felder lege ich daher ein Array fest.



$i = 0;

While- Schleife

$i++

<input type="text" name"Test[$i]">



Nach dem abschicken kann ich dann mit einem Count auf das Array "Test" sagen wieviele Eingabefelder vorhanden sind.


Hierfür suche ich nun eine Lösung in asp. Für Hilfe wäre ich sehr dankbar.


Cord Worthmann
13.09.2004, 14:06
in asp erhälst du alle selektierten form-felder eines namens als per komma getrennten string...


aVals = Split(Request.Form("myFields"), ", ", -1, 0)



nun hast du auch ein array.
;-)


grtz
chief

~Paladin~
14.09.2004, 07:00
Und das Inputfeld müsste wie aussehen?


<%
While- Schleife

intI = 0
intI = intI + 1
%>
<input type="text" name="Test(<%=intI%>)">



Und dann nach dem Absenden?



<%
aVals = Split(Request.Form("Test(0)"), ", ", -1, 0)
%>

Cord Worthmann
14.09.2004, 23:42
ne, das form-field sieht z.b. so aus...


<select name="multi" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>




und übernommen wirds vom script so, wie ich oben gezeigt habe.


grttz
chief

~Paladin~
15.09.2004, 04:40
Hab jetzt mal was ausprobiert. Den Namen der Inputfelder leg ich über einen Zähler fest und Speicher in einer Session ab wieviele Felder vorhanden sind. Nach dem Abschicken geh' ich dann in einer for- Schleife her und kann meine Plausipruefungen auf die Felder etc abschicken.

In php war das ganze irgendwie doch einfacher. Scheint so als wenn VBScript nicht so der Überflieger beim Thema Arrayfunktionen ist ,-(

Dank Dir trotzdem.

Nebenbei.. Kennst Du auf Anhieb den Unterschied zwischen Session und Application Variablen?

Cord Worthmann
15.09.2004, 19:31
naja - es ist im grunde ja nur ein schritt mehr, den du machen musst - nämlich deine browser-parameter in ein array splitten...
mir gings genau andersherum - ich fand es ungewöhnlich, dass ich in php auf einmal ein array ins html schreiben musste (was ja alles andere als üblich bzw. konform ist), um multiple form-felder übernehmen zu können.
;-)


der unterschied zwischen session- u. application-vars ist ein einfacher:
session-werte sind nur für den benutzer sichtbar, dem diese session zugeordnet wird...
application-vars hingegen sind für alle user zugänglich.
beispielsweise könnte man in einer application-var die anzahl der derzeitig eingeloggeden user schreiben - und in eine session-var eben persönliche angaben wie user-id etc...

wichtig zu app-vars ist noch zu sagen, dass diese die performance verringern, wenn man zu oft in diese schreibt, da dafür immer ein exclusiver zugriff auf die var fällig wird.
sprich alle anderen müssen warten, bis der schreibvorgang beendet ist (Application.Lock()/Unlock() verwenden).
reiner lese-zugriff ist kein problem.


grtz
chief