Multiple Select og Upload fra Persits
Jeg har oplevet følgende mærkelige hændelse, som jeg har forelagt Persits, uden at de reagerede på det, men nærmest indikerede at det mig, der var tosset - og måske har de ret ?Tidligt i min asp-kodning lærte jeg, at man burde starte sine dokumenter med
<%@ LANGUAGE=VBScript %>
<% Option Explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
i stedet for
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<%@ LANGUAGE=VBScript %>
Førstnævnte tvinger en til at definere alle sine variable (i en dim-sætning). Og dette har jeg så brugt lige siden. jeg har også brugt Upload fra Persits flere gange - og det virker fint. Indtil i dag!
For første gang brugte jeg en <SELECT> med attributten Multiple, altså <SELECT MULTIPLE ...>, da man skal kunne vælge flere værdien samtidig fra dropdown-boksen. Værdien skulle sammen med nogle filer sendes fra en form til et andet dokument.
Da jeg skulle samle de overførte værdier op - så jeg, at alt gik godt - bortset fra den overførte værdi fra multiple-select'en. her blev kun overført 1. valg og ikke de øvrige, når man bad om
xx = Upload.Form("navnet på den overførtes select").
Nå - ved kig på Persits hjemmeside og deres manual, ses faktisk et FAQ, som forklarer, at man med Multiple select skal samle de enkelte valg sammen, da de er overført som enkeltværdier og ikke som en samlet streng.
Altså samle op i stil med
For each item in Upload.form
if item.name = "Min multiple-selects navn" then
opsamling = opsamling & item.value
end if
NeXT
Det siger FAQ'en, og det siger Persits også - MEN det virkede ikke! Der kom intet ud af opsamlingen, mens alle de andre værdier blev overført korrekt. Efter lang tids minimering af såvel det sendende dokument som det modtagne, viste det sig så, at det der går galt, er <% Option Explicit %> i starten af dokumentet. Går jeg tilbage til formen uden den eksplicitte definition af alle variable - ja så virker det.
Jeg ved ikke hvorfor. Måske giver Persits enkeltværdierne i multi-selecten nogle undernavne (som jeg jo ikke kender og derfor ikke har defineret?).
Mit problem er jo løst - men jeg kunne godt tænke mig at vide om nogle har lignende oplevelser med Persits UPLOAD.
mvh.
/Jens