Thomas: Javascript im <body> ausführen

'nabend

Auf einer HTML-Seite ist es leider nötig ein JavaScript auszuführen, nachdem ein Formular geschrieben wurde. Warum auch immer. ;-)

Jedenfalls sagt mir der W3C- wie auch der SelfHTML-eigene-Validator "<script> im <body> ist nicht drin". Das Validome verweist dabei auf HTML-Elementreferenz von "script". Da steht nun aber dann

"script
...
Elternelemente: Darf innerhalb der folgenden HTML-Elemente vorkommen:
[Block-Elemente] | [Inline-Elemente] | head | body
(body nur bei Seite HTML transitional)
..."

Transitional mache ich doch aber mit "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">", oder liege ich da falsch?

Es funktioniert und das reicht mir ja eigentlich schon, aber was ist nun "richtig"?

  1. Hallo

    Jedenfalls sagt mir der W3C- wie auch der SelfHTML-eigene-Validator "<script> im <body> ist nicht drin".

    Das ist falsch. Folgendes HTML validiert gegen die HTML4.01 Srict DTD.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>Script im Body</title>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    </head>
    <body>
    <h1>Test</h1>
    <script type="text/javascript">
    <!--
    document.write("<h2>Test mit Script</h2>");
    //-->
    </script>
    <noscript><h2>Test ohne Script</h2></noscript>
    <p>Test</p>
    </body>
    </html>

    Da musst Du wohl was anderes falsch gemacht haben. Eventuell zeigst Du ja mal, um welches Dokument es geht?

    viele Grüße

    Axel

    1. Danke für Deine Antwort. Nachdem ich mir die ganze Sache nochmal angesehen habe, fiel mir auf, das da steht "... an dieser Stelle nicht erlaubt ...".

      Der Scriptaufruf war innerhalb des <form>-tags. Das wars dann auch schon.

      1. Der Scriptaufruf war innerhalb des <form>-tags.

        Thomas,
        Wie soll das gehen?
          <form <script>...</script>>

        Den Unterschied zwischen "Tag" und "Element" erklärt Michael Jendryschik anschaulich auf http://jendryschik.de/wsdev/einfuehrung/xhtml/syntax

        Gunnar

        --
        "(Der Student) kann sich so völlig dem hingeben, was er naiv für die Computerwissenschaft hält, also der bloßen Verfeinerung seiner Programmiertechniken, daß er sich auf diese Weise effektiv daran hindert, etwas wirklich Wesentliches zu studieren."
        (Joseph Weizenbaum in "Die Macht der Computer und die Ohnmacht der Vernunft")
        1. »»» Der Scriptaufruf war innerhalb des <form>-tags.

          Wie soll das gehen?
            <form <script>...</script>>

          Den Unterschied zwischen "Tag" und "Element" erklärt Michael Jendryschik anschaulich auf http://jendryschik.de/wsdev/einfuehrung/xhtml/syntax

          Danke für den Link. Ich habe tag und element verwechselt:
          <form> ... </form> <script> ... </script>

          Danke auch den anderen für die Atnworten.

  2. hi,

    Auf einer HTML-Seite ist es leider nötig ein JavaScript auszuführen, nachdem ein Formular geschrieben wurde. Warum auch immer. ;-)

    ok, ich will das "warum" jetzt gar nicht wissen.

    Transitional mache ich doch aber mit "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">"

    Nö, damit machst du es nicht. Schau dir nochmal genau an, welche DTD du ansprechen willst. Na?
    Es genügt, wenn du angibst
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    dann ist das "Validator-Problem" höchstwahrscheinlich erledigt.

    Grüße aus Berlin

    Christoph S.