20. juli 2000 - 10:09Der 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.
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.
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 !?!
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)?
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...
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 ;-]
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 :)
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.
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 ;)
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 :)
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? ;)
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.
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.
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 :)
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 :)
\"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.\"
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 :)
Synes godt om
Ny brugerNybegynder
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.