Sebastian Schimpf: Validator meckert bei <noscript>

Hallo,

ich wundere mich gerade über eine Fehlermeldung bezüglich "Invalidität" bei einem <noscript>-Tag.

Hier der Quellecode:

<form action="<?PHP $PHP_SELF ?>" method="post" target="_blank" name="printer">
<input type ="hidden" name="druck" value="TRUE" />
<p>
<script type="text/javascript">
//<![CDATA[
document.write('<a href="javascript:document.printer.submit();" title="Druckversion anzeigen">Druckversion</a>');
//]]>
</script>
<noscript><input type="submit" name="druckversion" value="Druckversion" class="print-button" title="Druckansicht anzeigen" /></noscript>
we:ifNotEditmode
<script type="text/javascript">
//<![CDATA[
if (efa_fontSize) {
  document.write('| ');
  document.write(efa_fontSize.allLinks);
}
//]]>
</script></we:ifNotEditmode></p>
<p class="impressum"><we:a id="546" title="Impressum anzeigen">Impressum</we:a></p>
</form>

Folgende Stelle wird bemeckert:

<noscript><input type="submit" ...

Fehlermeldung:

document type does not allow element "noscript" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag

Hat jemand von euch eine Ahnung warum hier ein Fehler gemeldet wird.
Ich kann es mir absolut nicht erklären.

Schöne Grüße aus Bremen,
Sebastian

  1. hi,

    document type does not allow element "noscript" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag

    Hat jemand von euch eine Ahnung warum hier ein Fehler gemeldet wird.

    weil <noscript> nicht innerhalb von <p> stehen darf.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi,

      weil <noscript> nicht innerhalb von <p> stehen darf.

      Danke, das war's! :-)

      Ich habe es jetzt folgendermaßen gelöst:
      (ich gebe einfach die <p>-Tags innerhalb von js aus)

      <script type="text/javascript">
      //<![CDATA[
      document.write('<p><a href="javascript:document.printer.submit();" title="Druckversion anzeigen">Druckversion</a>');
      //]]>
      </script>
      <noscript><p class="print-button"><br /><input type="submit" name="druckversion" value="Druckversion" title="Druckansicht anzeigen" /></p></noscript>
      we:ifNotEditmode
      <script type="text/javascript">
      //<![CDATA[
      if (efa_fontSize) {
        document.write('| ');
        document.write(efa_fontSize.allLinks);
        document.write('</p>');
      }
      //]]>
      </script></we:ifNotEditmode>

      Gruß,
      Sebastian

  2. Hi,

    Fehlermeldung:

    document type does not allow element "noscript" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag

    Hat jemand von euch eine Ahnung warum hier ein Fehler gemeldet wird.
    Ich kann es mir absolut nicht erklären.

    Du hast wohl xhtml strict deklariert. Verwende transitional oder beachte, welche Elemente wo verschachtelt sein dürfen. Du darfst in noscript direkt keine inline-Elemente setzen und noscript selbst muß auch in einem Block-Element sein.

    freundliche Grüße
    Ingo

    1. Hi,

      Du hast wohl xhtml strict deklariert. Verwende transitional oder beachte, welche Elemente wo verschachtelt sein dürfen.

      Ich verwende transitional!
      Das mit der Verschachtelung stimmt.
      Ich lasse jetzt die <p>-Tags einfach auch per js ausgeben,
      dann macht der Validator keinen Ärger! :-)

      Vielen Dank!

      Gruß,
      Sebastian