Avatar billede webcreator Nybegynder
07. juli 2005 - 15:35 Der er 25 kommentarer og
1 løsning

Erstat billede

Hej Eksperter.

Jeg har lavet et lille script, der gør det muligt at ændre billeder "on-the-fly". Det virker fint i IE men ikke i Firefox. Kan det løses ?

function DisplayImage()
{
  document.images['imagepreview'].src = document.forms[0].image.value;
  document.getElementById('imagedisplay').style.visibility="visible";
}
Avatar billede roenving Novice
07. juli 2005 - 15:37 #1
Hvilken doctype bruger du ?-)

-- for ovenstående burde virke, medmindre du bruder xhtml ...
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:27 #2
Jeg bruger alm. HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">

Men jeg har på fornemmelsen, at det kun virker i Quirk-mode
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:29 #3
Men på den anden side, så virker det jo fint i standard-mode i IE
Avatar billede roenving Novice
07. juli 2005 - 16:37 #4
Men du kunne jo også fremtidssikre den, og allerede nu gå igang med at bruge de rigtige dom-ecmascript-bindings:

function DisplayImage()
{
  document.getElementById('imagepreview').src = document.getElementById('image').value;
  document.getElementById('imagedisplay').style.visibility="visible";
}

-- og så sætte id på både img- og input-tagget !-)
Avatar billede roenving Novice
07. juli 2005 - 16:38 #5
-- iøvrigt vil nogle browsere acceptere <image>-tags, og der findes en input type=image, hvorfor det kan frarådes at bruge det som identifikator !-)
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:43 #6
Hm, heller ikke det løste problemet. Men den faste ALT-tekst i img-tagget vises i stedet for billedet.
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:45 #7
Ic. Kan jeg få problemer i fremtiden, hvis jeg ikke gør brug af id som du viste?
Jeg har endnu ikke sat mig ind i forskellen på HTML, DHTML og XHTML, og er derfor i tvivl om, hvorvidt mine sites vil fungere ordentligt i fremtidige browsere. Nogen af dem sætter browseren i Quirk-mode, andre i standard-mode.
Avatar billede roenving Novice
07. juli 2005 - 16:50 #8
Fremtidssikringen handler også om dine egne indstillinger, men det er helt sikkert at fremtidens browsere bliver meget effektivere, hvis de kan bruge en xml-parser, mens de må falde tilbage til en html-parser, som er meget langsommere ...

-- og er du sikker på, at dit billede, som du indskriver i feltet har den rigtige sti ?-)
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:57 #9
Så XHTML er altså baseret på en XML parser?

Jep, skulle jeg mene. Billedet vises som sagt fint i IE. Har også forsøgt at erstatte backslashes med slashes manuelt, i tilfælde af at firefox foretrækker det sådan. Men det løste heller ikke problemet.
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:58 #10
Noget kunne tyde på, at det er baseret på XML :)
http://html.dk/tutorials/xhtml/lektion1.asp
Avatar billede webcreator Nybegynder
07. juli 2005 - 16:59 #11
Det vil jeg straks kaste mig over, når jeg har fået løst problemet med billedet i Firefox.
Avatar billede roenving Novice
07. juli 2005 - 17:17 #12
Ja, men du skal nok liiige klappe hesten en anelse, før du tager det i brug, læs oleboles artikler:

http://www.eksperten.dk/artikler/537 og
http://www.eksperten.dk/artikler/538

-- kunne du evt. linke til din test ?-)
Avatar billede webcreator Nybegynder
08. juli 2005 - 02:08 #13
Hej igen.
Beklager at jeg først får skrevet tilbage nu.

Jeg har med stor interesse læst Olebole's artikler - kan i øvrigt varmt anbefales. Jeg har besluttet, ligesom Olebole, at forberede min kode til overgangen til XHTML når version 2.0 udkommer. Jeg kunne imidlertid godt tænke mig nogle flere detaljer om, hvordan det gøres. Så hvis der findes et par gode URL'er der kan anbefales, så modtager jeg dem meget gerne.

På nuværende tidspunkt koder jeg mine dokumenter efter HTML 4.01 Strict - og man kommer vel næppe meget tættere på XHTML end det(?). Dog har jeg stadig efter gennemlæsning af artiklerne den forestilling, at lukkede tags er det mest nyskabende i XHTML (ud over at også scripts skal kodes efter en nye script-DOM bindings).
Er der mon andre ting der skal tages hensyn til? Jeg tænker specielt på strukturen i koden?

I morgen smider jeg lige et eksempel op på noget af det kode jeg har skrevet, så der eventuelt kan gives lidt kommentare til, om det er optimalt. Ligeledes smider jeg mit site online, så java-script funktionen (erstat billede) kan testes.

Vi kom vist lidt ud over JavaScript funktionen - men jeg har smidt lidt ekstra points i kassen. Håber det går :)
Avatar billede webcreator Nybegynder
08. juli 2005 - 11:21 #14
Jeg har lige lavet en statisk version af siden med javascriptet:
http://powerzone.dk/lad/ - sjovt nok validerer koden ikke korrekt pga. disse javascripts. Kan du se hvorfor?

Her er source-koden til det, hvis der er tid til et lille kig på den. Det er altid interessant at høre, om man kan gøre tingene bedre eller smartere :)
http://powerzone.dk/lad/source.txt
Avatar billede roenving Novice
08. juli 2005 - 11:34 #15
Den manglende validering skyldes, at lukke-tags genkendes, selv om de findes inde i tekst-strenge, mens åben-tags respekteres som værende en del af noget tekst ...

-- men hvis du escaper dine "</a>"-ting: <\/a>, skulle du slippe for dem !-)

-- og en anden ting er, hvilke ting, der ikke mere understøttes:

Væsentligst i forhold til javascript-bindings er de collections, som findes på document-objektet, images, forms, frames m.v., som ikke mere vil være gyldige, hvorfor f.eks. document.forms[0] ikke mere vil kunne bruges, og du derfor skal finde dine felter og forme ved hjælp af .getElementById og f.eks. .getElementsByTagName('FORM')[0] !o]
Avatar billede webcreator Nybegynder
08. juli 2005 - 11:43 #16
Ok, tusind tak. Jeg retter lige tingene :)

Mere generelt, ser det så ud til, at mit dokument (source.txt) er optimeret til XHTML når den tid kommer?
Avatar billede webcreator Nybegynder
08. juli 2005 - 11:50 #17
Hm, jeg kan se at man er nødt til fortsat at have et name-tag i forms, hvis man vil kunne tilgå dem via PHP. Kan det passe?
Avatar billede roenving Novice
08. juli 2005 - 11:54 #18
Umiddelbart ser der ikke ud til at være så langt til, men du får nok nogle problemer med nogle af attributterne, men den tid, den sorg !-)

-- Tjah, jeg kan forestille mig at nogle af de server-side teknologier skal opdateres til at håndtere de nye tider ...
Avatar billede webcreator Nybegynder
08. juli 2005 - 11:56 #19
Ok, fornemt. Hvilke attributter har du i tankerne?
Avatar billede webcreator Nybegynder
08. juli 2005 - 11:57 #20
.. og kan jeg forresten få problemer ved at bruge samme værdi i to attributter?
<input name="test" id="test">
Avatar billede webcreator Nybegynder
08. juli 2005 - 11:57 #21
(må være sidste spørgsmål :)
Avatar billede roenving Novice
08. juli 2005 - 12:05 #22
Hvis du forsøger at validere en name-attribut mener jeg at validatoren giver fejl, men det er den rigtige løsning, hvis du er nødt til at have en name-attribut ...

-- jeg skrev med vilje ingen konkrete attributter, da jeg ikke gad at fare over på www.w3.org for at finde det dokument, som beskriver forskellene !-)

Velbekomme '-)
Avatar billede webcreator Nybegynder
08. juli 2005 - 12:09 #23
Hehe, ok :)
Mange tak for hjælpen igen. Det var rart lige at få indblik i de nye teknologier :)
Smider du et svar?
Avatar billede roenving Novice
08. juli 2005 - 12:12 #24
;O)
Avatar billede roenving Novice
08. juli 2005 - 12:22 #25
Tak for point ;~}
Avatar billede webcreator Nybegynder
08. juli 2005 - 12:40 #26
Det' mig der takker :)
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