Avatar billede michaelthomassen Nybegynder
14. februar 2006 - 01:37 Der er 7 kommentarer og
1 løsning

Underlige warnings på http://validator.w3.org

Jeg får følgende to warnings når jeg validater min side:


Warning Line 63 column 156: character "&" is the first character of a delimiter but occurred as data.
...ument.signup.UserName.value.indexOf("&") >= 0))
This message may appear in several cases:

You tried to include the "<" character in your page: you should escape it as "&lt;"
You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp;", which is always safe.
Another possibility is that you forgot to close quotes in a previous tag.

Warning Line 87 column 46: character "<" is the first character of a delimiter but occurred as data.
...ument.signup.Email.value.indexOf("@")<=0 || document.signup.Email.value.index


De to linier i mit dokument er følgende:
if ((document.signup.UserName.value.indexOf("%") >= 0) || (document.signup.UserName.value.indexOf("?") >= 0) || (document.signup.UserName.value.indexOf("&") >= 0))

if (document.signup.Email.value.indexOf("@")<=0 || document.signup.Email.value.indexOf("@") == document.signup.Email.value.length-1)
Avatar billede michaelthomassen Nybegynder
14. februar 2006 - 01:40 #1
De to linier er naturligvis placeret i <script type="text/javascript">
Avatar billede erikjacobsen Ekspert
14. februar 2006 - 09:30 #2
Placer dem i

  <script type="text/javascript">
  <!--
    ....alt dit JS
  //-->
  </script>
Avatar billede milandt Nybegynder
14. februar 2006 - 09:32 #3
xhtml 1.1 strict?

i så fald kan dette nok kaste lidt lys over sagen:
http://www.w3.org/TR/xhtml1/#h-4.8
Avatar billede milandt Nybegynder
14. februar 2006 - 09:32 #4
erikjacobsen, ikke i <!--  -->, men i CDATA escaping

<script type="text/javascript">
<![CDATA[
... unescaped script content ...
]]>
</script>
Avatar billede milandt Nybegynder
14. februar 2006 - 09:34 #5
Det du undgår ved at bruge

  <script type="text/javascript">
  <!--
    ....alt dit JS
  //-->
  </script>

er at en gammel browser der ikke forstår javascript of under normale omstændigheder vil skrive det ud som html, opfatter det som en lang kommentar pga <!-- -->, og dermed bliver det skjult.
Avatar billede michaelthomassen Nybegynder
14. februar 2006 - 14:48 #6
Ups, af en eller anden grund havde jeg glemt den øverste <!--, men som milandt korrekt skriver, skal der bruges <![CDATA[ i xhtml 1.1 strict. Smid svar, så deler i points.

Jeg havde bare troet at der var et eller andet galt med de to linier, siden jeg har omkring 100 linier javascript på den samme side, og der kun var de to warnings.

Takker! :)
Avatar billede milandt Nybegynder
14. februar 2006 - 14:58 #7
you are welcome
Avatar billede olebole Juniormester
14. februar 2006 - 21:00 #8
<ole>

Men sålænge, man bruger adresseringer som denne:
    document.signup.Email.value

- er det fløjtende ligegyldigt at skrive XHTML1.1 - da hele dokumentet så parses som tilfældig HTML tagsoup.
Hvis dokumentet bliver served korrekt og læst af en browser, som er ægte XHTML-kompatibel - og ikke laver redingsoperationer ved at parse som HTML i stedet - vil den gå ned med et hult drøn og en XML-fejl.

Det kræver betydeligt mere at skrive XHTML, end blot at få markup-koden valideret  ;o)

/mvh
</bole>
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