Avatar billede axkris Nybegynder
23. juni 2003 - 10:02 Der er 19 kommentarer og
1 løsning

Genial onEvent søges

Hej

Jeg har en side med et felt af typen "file", hvor folk kan vælge en fil på deres pc, som skal uploades. Der findes også en "Vis"-knap, så folk kan se deres billede inden, at de uploader. MEN kan man ikke gøre et eller andet genialt ;) således, at når folk har valgt deres fil, så aktiveres den metode, som viser billede, af sig selv (så folk er fri for at skulle klikke på "vis").

Måske ved brug af nogle onEvents.....

Lidt kode:

<input type="file" name="F1" size="27">

function showPics() {

    form = document.profile;
    if (uploadPicCheck(form.elements["F1"])) {
        form.elements["picture1"].src = form.elements["F1"].value;
        return true;
    }
    else {
        return false;
    }   
}
Avatar billede Slater Ekspert
23. juni 2003 - 10:06 #1
Avatar billede Slater Ekspert
23. juni 2003 - 10:07 #2
Avatar billede axkris Nybegynder
23. juni 2003 - 10:10 #3
Det kan jeg ikke bruge til så meget. Har du en workaround? Kan man ikke kombinere nogle onevents med hinanden og så har man løsningen?
Avatar billede Slater Ekspert
23. juni 2003 - 10:13 #4
Næh, det ser som sagt ikke ud til at være muligt.

Men du kan evt. bruge onblur - så bliver billedet da vist så snart du markerer noget andet på siden.
Avatar billede edutasia Nybegynder
23. juni 2003 - 10:17 #5
<input type="file" name="F1" size="27" onpropertychange="showPics()">
Avatar billede axkris Nybegynder
23. juni 2003 - 10:20 #6
Fantastisk edutasia... det ser ud til at virke :-)
Avatar billede Slater Ekspert
23. juni 2003 - 10:20 #7
virker den? ... jeg sad lige og gloede på det property nemlig, men havde ikke lige mulighed for at teste. Genialt nok.
Jeg trækker mig tilbage.
Avatar billede edutasia Nybegynder
23. juni 2003 - 10:30 #8
Jeg kan i øvrigt se, at onchange også virker - selv om den ikke er dokumenteret...

<input type="file" name="F1" size="27" onchange="showPics()">
Avatar billede Slettet bruger
23. juni 2003 - 10:40 #9
Det virker dog hverken i Netscape eller Opera.
Avatar billede edutasia Nybegynder
23. juni 2003 - 10:43 #10
phoenixv > ingen af dem?
Avatar billede Slettet bruger
23. juni 2003 - 10:43 #11
onpropertychange virker kun i IE.
onchange derimod virker i IE, Opera og Netscape. I sidstnævnte skal fokus dog først forlade feltet, før eventen bliver affyret.
Avatar billede edutasia Nybegynder
23. juni 2003 - 10:47 #12
OK - så må onchange være det bedste bud... IE er tilsyneladende ligeglad
Avatar billede axkris Nybegynder
23. juni 2003 - 10:48 #13
Nu har jeg brugt dem begge...

<input type="file" onpropertychange="showPics();" onchange="showPics();" name="F1" size="26">
Avatar billede Slettet bruger
23. juni 2003 - 10:50 #14
Det er overkill. onchange og onpropertychange virker jo på samme måde i IE og førstnævnte virker overhovedet ikke i NS og Opera. Så hvorfor ikke bare gå efter onchange?
Avatar billede edutasia Nybegynder
23. juni 2003 - 10:51 #15
Prøv at sætte linien

  alert('test');

ind i showPics. Den alert'er 2 gange, så phoenixv har ret...
Avatar billede axkris Nybegynder
23. juni 2003 - 10:55 #16
Men du skrev: "I sidstnævnte skal fokus dog først forlade feltet, før eventen bliver affyret." Tænkte du så på Opera eller onCharge :-)
Avatar billede Slettet bruger
23. juni 2003 - 10:56 #17
Jeg tænkte på onChange (ikke onCharge) med Netscape. Men det er da bedre end den overhovedet ikke bliver affyret.
Avatar billede axkris Nybegynder
23. juni 2003 - 10:59 #18
Enig ... tryk 'svar' :)
Avatar billede Slettet bruger
23. juni 2003 - 11:00 #19
Nej tak. Giv pointene til edutasia.
Avatar billede axkris Nybegynder
23. juni 2003 - 11:06 #20
Hermed gjort ;)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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