Avatar billede Kim Neesgaard Seniormester
11. august 2006 - 14:47 Der er 11 kommentarer og
1 løsning

input id="File1" type="file" taber værdien

Jeg har følgende tags ifm. upload af en fil til webserveren:

<TD>Select File to Upload:
            </TD>
            <TD><input id="File1" type="file" name="File1" runat="server"></TD>
            <TD></TD>
        </TR>
        <TR>
            <TD>Save as file name (no path):
            </TD>
            <TD><input id="Text1" type="text" name="Text1" runat="server"></TD>
            <TD></TD>
        </TR>
        <TR>

og det fungerer fint.

Jeg har lagt et tjek ind på om filen findes i forvejen og hvis den gør, så bruger jeg Exit Sub i dette funktionskald:

onserverclick="btnUpload_ServerClick"

men efter dette mister File1 sin værdi og brugeren skal påny pege på filen og det er jo ikke ret godt. Text1 beholder sin værdi.

Jeg har prøvet at tildele File1 en værdi (som jeg kender) med File1.Value o.lign., men det går den ikke med til. Hvordan kan den beholde sin værdi?
Avatar billede innercitydk Nybegynder
11. august 2006 - 17:15 #1
Kan det være fordi input feltet initieres ved page load, og derfor ikke kan holde på værdien?

Prøv at indsætte følgende i pageload:

if ( Page.IsPostBack )
    return ;
Avatar billede innercitydk Nybegynder
11. august 2006 - 17:16 #2
VB:

If Page.IsPostBack Then
Return
End If
Avatar billede thrytter Nybegynder
11. august 2006 - 18:52 #3
Tror det er af sikkerhedshensyn at inputfelter af typen file ikke kan tildeles en værdi, men skal vælges af brugeren.

Egentlig også ret forståeligt - kunne have uheldige konsekvenser.
Avatar billede Kim Neesgaard Seniormester
11. august 2006 - 20:14 #4
innercitydk -> Feltet behandles i en knap klik-event.
Avatar billede innercitydk Nybegynder
12. august 2006 - 20:13 #5
Det er jeg med på, men der er tale om postback, og har du en pageload metode der f.eks laver noget initiering så afvikles denne kode også.
Avatar billede Kim Neesgaard Seniormester
14. august 2006 - 10:33 #6
innercity -> Der var kun en enkelt linie i page load (en label, der fik en værdi), men selv når page load er helt tom, forsvinder værdien.

Hvis jeg sætter

If Page.IsPostBack Then
Return
End If

ind i page load, så forsvinder værdien også.
Avatar billede snepnet Nybegynder
14. august 2006 - 19:41 #7
Hey neesgaard - har du ikke set det thrytter har skrevet?
Som udgangspunkt er det formentlig browserafhængigt, men det er nok svært at forestille sig en moderne browser give lov til det.
Mvh
Avatar billede Kim Neesgaard Seniormester
14. august 2006 - 21:42 #8
Jo - det har jeg set, men læste det ikke som definitivt og så ville jeg lige prøve det andet forslag også!

Jeg kan godt se, at man nok ikke skal kunne tildele en værdi, men kunne der være så stor en risiko ved at den beholdt den værdi, som brugeren allerede har givet det?
Avatar billede Kim Neesgaard Seniormester
14. august 2006 - 21:45 #9
thrytter -> Beklager hvis jeg opfattede det forkert!
Avatar billede snepnet Nybegynder
14. august 2006 - 22:44 #10
Egentlig forstår jeg ikke helt balladen i at brugeren skal vælge igen... Du kan jo skrive en pæn meddelelse om at bemeldte fil allerede er uplodet, og brugeren skal jo under alle omstændigheder vælge en anden fil, så værdien af at den fil der ikke kunne oploades står der endnu er vel 0 eller?
Mvh
Avatar billede Kim Neesgaard Seniormester
15. august 2006 - 09:42 #11
Det er fordi jeg har lavet det valgfrit, hvilket navn brugeren vil give den uploadede fil, dvs. hvis brugeren peger på Doc-y.doc, så kan vedkommende uploade den som Doc-z.doc, men ved nærmere eftertanke er det jo nok en temmelig dårlig ide, så jeg vil lave det om, så filnavnet SKAL være det samme som det, brugeren peger på og så har du helt ret i, at så skal brugeren pege på et andet dokument. Dvs. så passer pengene!!
Avatar billede snepnet Nybegynder
15. august 2006 - 09:45 #12
:o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester