Avatar billede marzman Nybegynder
02. december 2004 - 18:09 Der er 18 kommentarer og
1 løsning

Indsæt smilies

Hejsa...

Jeg har lavet sådan et script til min gæstebog så jeg kan sætte smilies ind...

Det virker bare ikke rigtigt, eller det vil sige det virker ikke rigtigt med xhtml!

source:

            <div align="center"><script language="javascript" type="text/javascript">
function selectit(input){
document.formname.comment.value+=input
}
</script>
                <img border="0" src="smilies/bigsmile.gif" alt="Big Smile"style="onClick: selectit(':D');" /></a>
                            <img border="0" src="smilies/smile.gif" alt="Smile" style="onClick: selectit(':)');" />
                            <img border="0" src="smilies/cry.gif" alt="Sad" style="onClick: selectit(':(');" />
                            <img border="0" src="smilies/mad.gif" alt="Mad" style="onClick: selectit(':@');" />
                            <img border="0" src="smilies/wink.gif" alt="Wink" style="onClick: selectit(';)');" />
                            <img border="0" src="smilies/tounge.gif" alt="Tongue" style="onClick: selectit(':P');" />
                            <img border="0" src="smilies/cool.gif" alt="Cool" style="onClick: selectit('8)');" />
                            <img border="0" src="smilies/sick.gif" alt="Sick" style="onClick: selectit(':x');" />
                            <img border="0" src="smilies/rolleyes.gif" alt="Roll Eyes" style="onClick: selectit(':rolleyes:');" />
                            <img border="0" src="smilies/huh.gif" alt="Huh" style="onClick: selectit('???');" />
                            <img border="0" src="smilies/amazed.gif" alt="Amazed" style="onClick: selectit(':O');" /></div>

Hvad kan jeg gøre for at den godkender det på w3c's side ???

og det samtidig virker...

Hilsen marZman
Avatar billede Slettet bruger
02. december 2004 - 18:11 #1
style="onClick: selectit(':D');" ligner noget der ikke _burde_ virke :)
Avatar billede marzman Nybegynder
02. december 2004 - 18:15 #2
ja men det gør det ikke!
Avatar billede Slettet bruger
02. december 2004 - 18:17 #3
Prøv at læs hvad jeg skriver, det burde IKKE virke...for det er ikke gyldig kode.
Avatar billede marzman Nybegynder
02. december 2004 - 18:18 #4
nej men hvad ska den så være! det er jo mit spørgsmål

Jeg har jo nok konstateret at den ikke virker...!
Avatar billede Slettet bruger
02. december 2004 - 18:26 #5
Jamen hvad har det med CSS'en at gøre?
Avatar billede Slettet bruger
02. december 2004 - 18:27 #6
Det skal være

onclick="selectit(';)');" />

Hvis det skal have en chance for at virke.
Avatar billede marzman Nybegynder
02. december 2004 - 18:36 #7
ja men det siger den er en fejl! hos w3c!
Avatar billede Slettet bruger
02. december 2004 - 18:39 #8
Ah mon dog. dne brokker sig nok over noget andet, men lige præcis onclick skulle nu nok være gyldigt nok.

Har du et link til den side du prøver at validere?
Avatar billede marzman Nybegynder
02. december 2004 - 18:41 #9
Avatar billede marzman Nybegynder
02. december 2004 - 18:42 #10
Avatar billede Slettet bruger
02. december 2004 - 18:48 #11
Prøv at fixe det ved at lægge et link rundt omkring dine giffer:

<a href="#" onclick="selectit(':rolleyes:');return false;"><img border="0" src="smilies/rolleyes.gif" alt="Roll Eyes" /></a>
Avatar billede Slettet bruger
02. december 2004 - 18:48 #12
Nej men dog...det er jo fordi du skriver onClick, i XHTML er alle attributter med små bogstaver

onClick > onclick
Avatar billede olebole Juniormester
02. december 2004 - 19:32 #13
<ole>

Hvis du skal have noget ud af at skrive XHTML, må du ikke bruge DOM-bindings som:
  document.FORMNAVN.FELTNAVN.value
Gør du det, kan XML-parseren ikke forstå, hvad du skriver, hvorfor siden i stedet parses som HTML4.01 med nogle uvedkommende ' /' i slutningen af visse tags.
'innerHTML' kan du f.eks. heller ikke bruge. Den hører også til under HTML og browseren vil også her lade HTML-parseren overtage dit dokument. Hermed mister du den eneste fordel, der er ved XHTML fremfor velskrevet HTML4.01.

Dernæst skal du huske at checke 'Verbose Output', når du validerer dine sider:
  http://validator.w3.org/check?uri=http%3A%2F%2Fmarzman.dk%2Fguestbook%2Fadd.php&charset=%28detect+automatically%29&doctype=Inline&verbose=1

Så får du nemlig oplysninger om, hvilken MIME-type, din server sætter. Som du ser bliver dokumentet served som 'text/html'. Det betyder at ingen browsere får noget ud af din XHTML-kode. Den vil altid blive parsed som HTML4.01 med føromtalte ' /' fejl.

At skrive XHTML, som nogen har glæde af, består af væsentligt mere end at lukke tags og sætte gåseøjne om attributter.
Det er bare meget sjældent,  de 'skriftkloge', der skriver web tutorials, nævner noget om det. Checker man deres egne koder og hvad deres server sætter i header'en, må man formode, de ikke aner det fjerneste om det, de skriver  :)

Problemet er dels, at overgangs versionerne af XHTML (1.0 og 1.1) ikke er 'ægte' XHTML, men en hybrid mellem 'ægte' XHTML og HTML - og dels at IE ikke understøtter den nødvendige MIME-type for XHTML 'application/xhtml+xml' - og dels at servere ikke er sat op til at serve med den korrekte MIME. I PHP kan du (og du kan også i ASP) dog sætte header'en:
  Header("Content-type: application/xhtml+xml");
Det hjælper til gengæld ikke at forsøge at sætte en meta i dokumentet.

Tingene kommer til dels på plads med XHTML2.0, der er ren XML. Her kan dokumentet kun parses som XML (hvilket er hele idéen med XHTML) - og så er det pinedød slut med sloppy web-kode. Siden bliver simpelthen ikke vist, hvis et tag ikke er lukket - eller der er fejl i nesting'en. Det samme vil gælde, hvis dokumentet ikke får sat den korrekte MIME - den _skal_ være 'application/xhtml+xml'.

Som tingene er idag, er det et frygtelig rod at skrive XHTML, der vitterlig bliver brugt til noget. Du skal f.eks. skrive én slags scripts, hvis browseren understøtter at parse dokumentet som XML - og en anden slags scripts til browsere, der ikke gør.

Faktisk har jeg en Eksperten artikel i ovnen om problematikken, da WWW flyder over med oceaner af misforståelser omkring XHTML  :)

/mvh
</bole>
Avatar billede olebole Juniormester
02. december 2004 - 19:45 #14
Til IE's delvise oprejsning skal det dog nævnes, at hvis din XP og IE er opdateret med SP2, understøtter IE 'application/xhtml+xml' - omend den er buggy omkring CSS-selectors, der fejlagtigt behandles case-insensitive
Avatar billede marzman Nybegynder
02. december 2004 - 20:03 #15
NÅÅ... :)

Tak det virker nu!
Men el_barto ligger du svar ??
Avatar billede Slettet bruger
02. december 2004 - 20:24 #16
mjoe..synes nu olebole har gjort sig mere fortjent til dem med sin spændende forelæsning (helt seriøst ment!)
Avatar billede olebole Juniormester
03. december 2004 - 02:36 #17
Ellers tak - du besvarede spørgsmålet. Jeg fægter bare mod religiøse vindmøller for tiden ... og synes, det er synd med al den gode tid, der bliver spildt  :)
Læg du nu bare et svar, el_barto - og tak, i øvrigt  ;o)
Avatar billede Slettet bruger
03. december 2004 - 07:17 #18
oki, men glæder mig til at læse din artikel :)
Avatar billede olebole Juniormester
03. december 2004 - 18:53 #19
Håber, den kommer op i løbet af weekenden  :)
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