Avatar billede hojou Nybegynder
20. juli 2000 - 10:09 Der er 31 kommentarer og
2 løsninger

Erstat "Browse..." med grafik billede til INPUT type=file

Jeg har en side med en upload form, hvor jeg vil fjerne den default knap "Browse..." med et grafik billede.

Jeg bruger ASP til at parse mit svar og det virker fint alt sammen (dette er *ikke* et ASP spørgsmål). Mit eneste problem, og dermed spørgsmål er:

Hvordan for jeg den dumme "Browse..." knap til at forsvinde og hvordan for jeg så istedet et grafik billede til at trigger samme event som den dumme knap gjorde.

Jeg har selv en *ikke brugbar* løsning på problemet; nemlig at ændre typen til text og så sende linket vidre til en ny side der on_load submitter en ny form. Denne løsning er dog ikke acceptabel da den er for kludret.

<FORM ENCTYPE="multipart/form-data" ACTION="upload.asp" METHOD="POST">
<P>Vælg et billede:<BR>
<INPUT NAME="fileupload" TYPE="file"><BR>
<INPUT NAME="Action" TYPE="submit" VALUE="Upload">
</FORM>
Avatar billede tine Nybegynder
20. juli 2000 - 10:28 #1
Hej!
Jeg har lige været i samme dilemma og jeg fandt ingen løsning! jeg havde spørgsmålet oppe og vende i kategorien javascript. Jeg fik et forslag der gik ud på at lave et layer der kunne skjule den oprindelige knap også lave en anden, men det virkede ikke. Jeg tror ikke det kan lade sig gøre!
Mvh.
Avatar billede hojou Nybegynder
20. juli 2000 - 10:32 #2
Jeg håber stadig det kan lade sig gøre :)
Avatar billede tine Nybegynder
20. juli 2000 - 10:33 #3
Det ved jeg - Det gør jeg også!
Avatar billede tine Nybegynder
20. juli 2000 - 10:34 #4
Du kan jo prøve det med layers og se om du kan få det til at virke! ;o)
Avatar billede hojou Nybegynder
20. juli 2000 - 10:42 #5
Problemet med layers er jo at de ikke virker i IE (ved ikke med 5.0) men sitet skal kunne ses med både NS og IE fra version 4 og op...

Der er også det problem at jeg kun vil fjerne knappen - ikke fil-navn-feltet og det kan jeg ikke se hvordan jeg skulle kunne løse med layers...
Avatar billede tine Nybegynder
20. juli 2000 - 10:48 #6
Layers er ok i IE 5.0. Det jeg gjorde for at løse mit problem var at lave en grafisk knap der "åbner" et hidden layer hvor jeg så har min <input type="file"> knap i stedet (så den ikke ødelagde mit layout) det kunne måske være en løsning !?!
Avatar billede hojou Nybegynder
20. juli 2000 - 10:54 #7
som sagt så skal det virke i IE4 også, men jeg skal stadig kunne se fil-navn-feltet og hvordan kan man kun fjerne "browse..." knappen - uden at fjerne fil-navn feltet, de er jo begge en del af det samme input felt (type=file)?
Avatar billede tine Nybegynder
20. juli 2000 - 11:03 #8
Jeg ved det(det med browse-knappen) det kan ikke lade sig gøre! såvidt jeg ved kan man også bruge layers i IE 4.0.
Avatar billede sokristi Nybegynder
20. juli 2000 - 12:28 #9
Er der mon nogen her, der sammenblander Netscape's proprietære ILAYER med CSS layers, <div> og <span> ?
Avatar billede tine Nybegynder
20. juli 2000 - 12:30 #10
Det ved jeg ikke. Er der? :o)
Avatar billede hojou Nybegynder
20. juli 2000 - 12:32 #11
Hrm... det hele er en værre sammenblanding.
Sidste gang jeg arbejde med dynamisk html havde jeg det problem at NS ikke forstod <div> tags, den forstod istedet <layer> tags, men det gjorde IE ikke. Resultatet blev to versioner af samme sider og det var noget pangel...
Avatar billede sokristi Nybegynder
20. juli 2000 - 12:33 #12
hojou mener, at IE 4 ikke kan håndtere layers. Hvis der menes Netscape's egen udgave, er det rigtigt, ellers ikke, så måske blandes tingen lidt her. Prøvede bare at hjælpe med lidt afklaring ;-]
Avatar billede tine Nybegynder
20. juli 2000 - 12:34 #13
Tak. ;-}
Avatar billede hojou Nybegynder
20. juli 2000 - 12:38 #14
Hehe for lige at afklare det hele, så kan jeg stadig ikke se hvordan layers skulle kune løse problemet, hvad der så end menes med layers i denne sammenhæng :)
Avatar billede tine Nybegynder
20. juli 2000 - 12:42 #15
Som jeg nævnte tidligere var det et forslag jeg fik da jeg spurgte, men det virkede ikke. Det jeg gjorde i stedet for ikke at ødelægge mit layout var mit svar fra 10:48:47 - det er bare et forslag.
Avatar billede hojou Nybegynder
20. juli 2000 - 12:53 #16
Yeps, og tak for det. Jeg venter dog lige og ser om der ikke er nogen andre der har en løsning.

Jeg skal bruge en løsning der virker i IE og NS fra version 4 og op.
Avatar billede tine Nybegynder
20. juli 2000 - 12:55 #17
Godt nok, jeg håber der dukker en brugbar løsning op. Held & lykke. :o)
Avatar billede mpj Nybegynder
20. juli 2000 - 13:17 #18
kan du ikke
<BUTTON TYPE="FILE" NAME="FILEUPLOAD">
<IMG SRC="DITUPLOAD.jpg">
</BUTTON>
Avatar billede hojou Nybegynder
20. juli 2000 - 13:27 #19
Hrm det synes jeg ikke virker - det giver mig bare et billede men der sker ikke noget når jeg trykker på det
Avatar billede mpj Nybegynder
20. juli 2000 - 13:31 #20
nej...
Det er rigtigt...
Den kan kun submit og reset og en ting til!
Avatar billede jpk Nybegynder
23. juli 2000 - 11:13 #21
Du skal ændre INPUT TYPE til \"Image\" og så vælge en image-SRC. I den følgende kode skal du udskifte image.gif med stien til dit billede!

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"upload.asp\" METHOD=\"POST\">
<P>Vælg et billede:<BR>
<INPUT NAME=\"fileupload\" TYPE=\"file\"><BR>
<INPUT NAME=\"Action\" TYPE=\"image\" SRC=\"image.gif\" VALUE=\"Upload\">
</FORM>
Avatar billede hojou Nybegynder
24. juli 2000 - 09:25 #22
Det er desværre ikke det der er problemet jpk, jeg skal udskifte \"Browse...\" knappen, ikke \"Submit\" knappen, ellers tak :)
Avatar billede jumper Nybegynder
26. juli 2000 - 01:39 #23
Kig på http://chat.betachat.dk/test3/fileinput.html

Der har jeg lavet et eksempel på hvordan det kan gøres.

Som de andre har været inde på, skal du lægge et billede henover Browse knappen. I dette tilfælde brugte jeg CSS til at positionere et IMG absolut over knappen. Hvis det skal virke i NS 4, skal du blot bruge et layer hvori billedet ligger.

For at trykke på selve Browse knappen, bruger du

document.formNavn.filFeltNavn.click()

click() virker ikke i NS 4, så glem alt om NS 4 og vær glad for at det virker i NS 6 ;)

/Thor
Avatar billede hojou Nybegynder
26. juli 2000 - 09:42 #24
Tja, jeg tror jeg opgiver for det ser ikke ud somom det kan lade sig gøre.

Surt at NS suger så vildt, og at de ikke har kunne følge med.

Tine havde jo ret, men jumper gjorde da et forsøg, selvom jeg ikke kan bruge det da det ikke virker i NS4 (som er et krav til dette site). Men jeg giver jeg halv point hver og lukker spørgsmålet :)
Avatar billede jumper Nybegynder
26. juli 2000 - 09:44 #25
Der er alligevel ingen praktisk gevinst ved at erstatte browserens standard \"Browse\" knap, så hvorfor ikke blot bruge mit eksempel og være tilfreds med at det ser lidt mindre grimt ud i IE 4/% og NS6? ;)

/Thor
Avatar billede hojou Nybegynder
26. juli 2000 - 09:52 #26
Der foreligger et design hvor en knap (den er også mindre end \"Browse...\" knappen skal fungere i stedet for \"Browse...\" knappen.

Et andet krav er, at hele sitet virker - i følge krav specifikationen (og derunder det grafiske design) til IE4+ og NS4+. Det skal endvidere se ens ud i begge browsere.

Jeg kan derfor ikke bruge forslaget :(
Avatar billede jumper Nybegynder
26. juli 2000 - 09:59 #27
Tja, du kan aldrig ændre ved det faktum, at \"Browse...\" knappen er en integreret del af <input type=\"file\">, uanset hvor meget du gerne vil have det.

Derfor er det eneste du kan gøre at skjule knappen, på den ene eller anden måde, eller leve med det faktum at \"Browse...\" knappen må indgå i dit grafiske design.

/Thor
Avatar billede jpk Nybegynder
26. juli 2000 - 10:26 #28
Du kan bruge en java applet...
Avatar billede hojou Nybegynder
26. juli 2000 - 10:50 #29
Yep jumper, det har jeg accepteret, og jeg kan ikke skjule knappen i IE4+/NS4+ og det var det jeg håbede jeg kunne. (eller jeg håbede at der måske var en property til at udskrifte knappen)

Og så lige til jpk, det var da en mulighed, men så er det ikke længere løst hva. dhtml og det var derfor jeg postede spørgsmålet i denne katagori, men tak alligevel :)
Avatar billede jumper Nybegynder
26. juli 2000 - 11:00 #30
hojou, du kan jo netop godt skjule knappen i IE4+/NS6+, det er kun NS4 der har problemer da den ikke har en click() metode *s*

/Thor
Avatar billede hojou Nybegynder
26. juli 2000 - 11:10 #31
Hehe ja og jeg kan bare ikke bruge det hvis det ikke virker i NS4. Desuden så er det ikke kun click() metoden der er galt med - billedet lå ikke oven på knappen i dit eksempel i min NS4, men det er ok, jeg har accepteret at jeg ikke kan gøre det :)
Avatar billede jumper Nybegynder
26. juli 2000 - 11:11 #32
\"I dette tilfælde brugte jeg CSS til at positionere et IMG absolut over knappen. Hvis det skal virke i NS 4, skal du blot bruge et layer hvori billedet ligger.\"

/Thor
Avatar billede hojou Nybegynder
26. juli 2000 - 11:19 #33
hrm, blot - det lyder ikke godt... jeg tvivler på at jeg kan få den ønskede effekt, så jeg gider ikke bruge mere tid på det. Men tak for dit eksempel og din tid :)
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