for schleife nicht XHTML Valid

Mik3e

Erfahrenes Mitglied
Hi,

Ich nutze folgende kleine Funktion...
Vor allem die "For-Schleife" beachten:
HTML:
function mark_all(formObject) {
	form = document.forms[formObject];
	for (i=0; i<form.elements.length; i++) {
		if (form.elements[i].type == "checkbox") {
			form.elements[i].checked = true;
		}
	}

Jage ich die Seite jetzt durch den XHTML 1.0 Validator (http://validator.w3.org), ist er der Meinung, dass der ; im Kopf der Schleife dort nicht hingehört

Fehlermeldung:
Code:
Error Line 49 column 33: character ";" not allowed in attribute specification list.
	for (i=0; i<form.elements.length; i++) {
? 

Error Line 49 column 33: element "form.elements.length" undefined.
	for (i=0; i<form.elements.length; i++) {
You have used the element named above in your document, but the document type you are using does not define an element of that name. This error is often caused by: 

incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Frameset" document type to get the "<frameset>" element), 
by using vendor proprietary extensions such as "<spacer>" or "<marquee>" (this is usually fixed by using CSS to achieve the desired effect instead). 
by using upper-case tags in XHTML (in XHTML attributes and elements must be all lower-case.

Ich vermute die zweite Meldung ist eine Folgeerscheinung der ersten...

Laut selfhtml ist ; aber der einzig gültige delimiter.. Ich wüßte auch nicht, welchen man sonst verwenden sollte.

Habt Ihr eine Idee, was das Problem sein könnte

Danke & Ciao,
Mike
 
javascript unt xhtml sind zwei komplett verschiedene par schuhe :)

du kannst dem xhtml-validator aber dein javascript vorenthalten indem du es xhtml gerecht in deine seite einbindest:

<script type='text/javascript'>/*<![CDATA[*/
/* script code*/
/*]]>*/</script>
 
Hi,

Das JS und XHTML zwei verschiedene Paar Schuhe sind, ist ja wohl klar :)
Ich sprach ja auch nur vom XHTML Validator, der Probleme mit den Javascripts bei der Validierung des Dokuments hatte.

Die von Dir vorgeschlagene Lösung habe ich bereits gefunden, danke trotzdem...

Um genau zu sein, hat ihn nicht der ";" gestört, sondern das Vergleichszeichen "<", den der Parser interpretiert das klarerweise als Start eines Tag-Objekts...

Eigentlich dachte ich das Teil ist so clever und überspringt Teile die in einem <script> Objekt eingebettet sind automatisch.. Da habe ich mich aber wohl getäuscht ;)

Danke jedenfalls & ciao,
Mike
 

Neue Beiträge

Zurück