Validator schimpft aus mir unerklärlichen Gründen...
Constantin Kiesling
- html
Hallo liebe Leute!
Ich probiere, alle meine Seiten HTML 4.01 valide zu schreiben... dabei treten jetzt aber Probleme auf. Ich habe hier zwei Stellen, an denen der Validator schimpft... könnt ihr mir vielleicht sagen, was ich falsch mache?
1.)
Ich benutze bei einem Formular ein Javascript, damit ich eine Grafik als "Löschen"-Button einsetzen kann. Dieses Script sieht so aus:
<script type="text/javascript">
<!--
document.write ("<a href="javascript:document.forms[0].reset()"><img src="bilder/sonstige/loeschen.gif" style="border:none" alt=""></a>");
//-->
</script>
Der Validator schimpft folgenderweise...
Line 371, column 50:
... /loeschen.gif" style="border:none" alt=""></a>");
^Error: end tag for element "A" which is not open; try removing the end tag or check for improper nesting of elements
Er meint also, dass das </a>-Tag zuviel ist, da kein geöffnetes <a> vorhanden ist... es ist aber in der Tat eines vorhanden... was mache ich falsch?
2.)
In einem Formular benutze ich u.A. eine Textarea. Diese habe ich mit CSS formatiert... wichtig ist vor allem die Breite, die habe ich nicht mit cols="" angegeben sondern in Pixel. Das cols="" Attribut habe ich einfach weggelassen... da hat der Validator schon gemotzt. Also habe ich einfach cols="" eingefügt, ohne Wert. Das gefällt dem Validator aber auch nicht. Wenn ich nun cols="" irgendeinen Wert gebe, dann bleibt die Breite (zumindest im IE) komischerweise dennoch die Pixelbreite - cols="" hat keinen Einfluss.
Ist das also eine gute Lösung oder nicht? Was sollte ich sonst tun?
lG,
Consti
Hallo liebe Leute!
Ich probiere, alle meine Seiten HTML 4.01 valide zu schreiben... dabei treten jetzt aber Probleme auf. Ich habe hier zwei Stellen, an denen der Validator schimpft... könnt ihr mir vielleicht sagen, was ich falsch mache?
1.)
Ich benutze bei einem Formular ein Javascript, damit ich eine Grafik als "Löschen"-Button einsetzen kann. Dieses Script sieht so aus:
<script type="text/javascript">
<!--
document.write ("<a href="javascript:document.forms[0].reset()"><img src="bilder/sonstige/loeschen.gif" style="border:none" alt=""></a>");
//-->
</script>
Der Validator schimpft folgenderweise...
Line 371, column 50:
... /loeschen.gif" style="border:none" alt=""></a>");
^Error: end tag for element "A" which is not open; try removing the end tag or check for improper nesting of elements
Logisch. Das erste Vorkommen der Zeichenkette </ (kleiner, Schräger)
beendet den Inhalt der script-Section.
Schreibe </ und das Problem sollte verschwunden sein.
Andreas
Logisch. Das erste Vorkommen der Zeichenkette </ (kleiner, Schräger)
beendet den Inhalt der script-Section.
Nur wenn darauf ein Buchstabe folgt, sonst würde
<script type = 'text/javascript'></</script>
ja nicht validieren.
Logisch. Das erste Vorkommen der Zeichenkette </ (kleiner, Schräger)
beendet den Inhalt der script-Section.
Nur wenn darauf ein Buchstabe folgt, sonst würde
<script type = 'text/javascript'></</script>
ja nicht validieren.
Also funktioniert das nun wenn ich </ verwende, oder nicht?
lG,
Consti
Logisch. Das erste Vorkommen der Zeichenkette </ (kleiner, Schräger)
beendet den Inhalt der script-Section.
Nur wenn darauf ein Buchstabe folgt, sonst würde
<script type = 'text/javascript'></</script>
ja nicht validieren.
Also funktioniert das nun wenn ich </ verwende, oder nicht?
Die Frage verstehe ich nicht. Um konforme HTML-Dokumente zu erstellen, darf innerhalb von CDATA Elementen wie <script> und <style> die Zeichenfolge "<" + "/" + <Buchstabe> nicht auftauchen. Wie man das umgeht ist abhängig vom Inhalt, via EcmaScript hat man zB die Möglichkeit
document.write("</" + "a>"); /* oder */
document.write("</a>"); /* etc. */
zu schreiben, das ist richtig.
Hi,
document.write("</" + "a>"); /* oder */
^^
genau diese Zeichenfolge darf eben NICHT vorkommen.
Andreas
document.write("</" + "a>"); /* oder */
^^
genau diese Zeichenfolge darf eben NICHT vorkommen.
Probier es aus, die darf vorkommen.
Hi,
Logisch. Das erste Vorkommen der Zeichenkette </ (kleiner, Schräger)
beendet den Inhalt der script-Section.
Nur wenn darauf ein Buchstabe folgt, sonst würde
<script type = 'text/javascript'></</script>
ja nicht validieren.
Mag sein, daß der Validator da einen Fehler hat.
Lies Dir http://www.w3.org/TR/html4/types.html#type-cdata durch. Da steht nix davon, daß noch ein Buchstabe folgen müßte.
Andreas
Logisch. Das erste Vorkommen der Zeichenkette </ (kleiner, Schräger)
beendet den Inhalt der script-Section.
Nur wenn darauf ein Buchstabe folgt, sonst würde
<script type = 'text/javascript'></</script>
ja nicht validieren.
Mag sein, daß der Validator da einen Fehler hat.
Nein.
Lies Dir http://www.w3.org/TR/html4/types.html#type-cdata durch. Da steht nix davon, daß noch ein Buchstabe folgen müßte.
Das ist ein Fehler, in http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.2 steht es richtig. CDATA Elemente werden durch ETAGO ("</") plus [a-z] beendet.
Ich probiere, alle meine Seiten HTML 4.01 valide zu schreiben...
1.)
<script type="text/javascript">
<!--
document.write ("<a href="javascript:document.forms[0].reset()"><img src="bilder/sonstige/loeschen.gif" style="border:none" alt=""></a>");
//-->
</script>
http://www.htmlhelp.com/tools/validator/problems.html
2.)
In einem Formular benutze ich u.A. eine Textarea. Diese habe ich mit CSS formatiert... [..] Wenn ich nun cols="" irgendeinen Wert gebe, dann bleibt die Breite (zumindest im IE) komischerweise dennoch die Pixelbreite - cols="" hat keinen Einfluss.