Herr Rossi: Ich verstehe die Validator-Fehlermeldungen nicht

Guten Abend!

Nachdem ich nach 2 Stunden Googeln und Suchen im Archiv keine Lösung gefunden habe, gebe ich`s jetzt auf. =(

Kann mir von Euch vielleicht wer erklären, was dem Validator bei folgender Seite nicht paßt :

http://www.blutspur.net/newsletteranmeldung.html

Wo liegt denn da mein Fehler im Formular?
Nachdem alle Fehlermeldungen gleich klingen, kann es ja nur ein bestimmter Syntax-Fehler sein. Aber ich finde ihn einfach nicht. =(

Ich glaub, ich seh jetzt den Wald vor lauter Bäumen schon nicht mehr. =(

Danke im Voraus!

Rossi

  1. Hi,

    zugegeben, diese Fehlermeldungen mögen etwas verwirrend sein.

    Fom erwartet den folgenden Inhalt in einem Blocklevel-Element - Du aber verwendest (hier übrigens auch sonst nicht sehr passend) spans.

    freundliche Grüße
    Ingo

    1. Hi Ingo!

      Fom erwartet den folgenden Inhalt in einem Blocklevel-Element - Du aber verwendest spans

      Ich habs jetzt bei mir am PC mit divs gemacht und es ist trotzdem nicht valide. =(

      (hier übrigens auch sonst nicht sehr passend)

      Wie meinst das genau?

      Rossi

      1. Hi,

        Wie meinst das genau?

        ein span ist ein "nichtssagendes" Element um Inline-Elemente oder Inhalte von Inline-Elementen zu formatieren.
        Du setzt hier span ein, obwohl Du ja eigentlich Absätze willst, also dann noch <br />s dazu. Ein <p> z.B. wäre wesentlich logischer als Auszeichnung - und valider innerhalb von form.

        freundliche Grüße
        Ingo

        1. Hi Ingo!

          Ich hab jetzt bald alle Variationen durch. span, div, p - auch ein id statt dem "name". Ich kann machen, was ich will, es wird einfach nicht valide. =(

          1. Hi,

            Du mußt nicht nur aus den SPANs Ps machen. Auch BR und INPUT sind inline-Elemente und direkt innerhalb von form nicht zulässig.
            Setze der Einfachheit halber alles _innherhalb_ von form in ein DIV und ersetze sinnvollerweise SPAN und BR durch P.

            freundliche Grüße
            Ingo

            1. Hi,

              oops.. ich sehe gerade, daß Du ja bereits ein passendes DIV hast und Stefan Dir bereits den richtigen Tip gegeben hat - den Du wohl nur nicht ganz kapiert hast. Daher nochmal von vorn:

              FORM
              DIV
              inhalt des Formulars
              /DIV
              /FORM

              freundliche Grüße
              Ingo

              1. Danke Ingo, das entspricht jetzt eh genau dem, wie ichs gemacht habe, daß es nun valide ist. Wir haben fast im gleichen Moment gepostet. =)

                Hatte nur noch 2 kleine Nachfragen. ( siehe oberer Thread )

          2. Ich hab das Problem jetzt so gelöst, daß ich das Formular mal definiert habe :

            <form>
            </form>

            Dann hab ich IN diese Definition einen Absatz gemacht

            <form>
              <p>
              </p>
            </form>

            Und IM Absatz dann die Eingabe- und Bezeichnungsfelder sowie den Submit-Button.

            JETZT ist es valide.

            Nur zur Klarstellung für mich :

            1. Das heißt, die verschiedenen Elemente eines Formulars müssen immer an ein blocklevel-Elternelement gebunden sein? Also IN einer Tabelle oder IN einem Absatz sein?

            2. Ich habe jetzt immer noch name="..." und kein id="..." . Ist das in Ordnung? Ich bilde mir ein, ich hab gelesen, statt name MUSS man ID nehemen, wenn man xhtml 1.0 strict schreibt. Der Validator sagt aber jetzt, daß es nun valide ist.

            Grüße

            Rossi

            1. Hi,

              Dann hab ich IN diese Definition einen Absatz gemacht

              das vorhandene DIV anders zu platzieren und die einzelnen Zeilen dann in Ps zu setzen wäre wohl sinnvoller gewesen.

              1. Das heißt, die verschiedenen Elemente eines Formulars müssen immer an ein blocklevel-Elternelement gebunden sein? Also IN einer Tabelle oder IN einem Absatz sein?

              Ja. Oder genauer gesagt, alle Inhalte von form müssen in blocklevel-Elementen sein.

              1. Ich habe jetzt immer noch name="..." und kein id="..." . Ist das in Ordnung? Ich bilde mir ein, ich hab gelesen, statt name MUSS man ID nehemen, wenn man xhtml 1.0 strict schreibt. Der Validator sagt aber jetzt, daß es nun valide ist.

              Nein. name ist sowohl für form als auch für input weiterhin erlaubt - jedoch nicht erforderlich.

              freundliche Grüße
              Ingo

            2. Hallo,

              1. Ich habe jetzt immer noch name="..." und kein id="..." . Ist das in Ordnung? Ich bilde mir ein, ich hab gelesen, statt name MUSS man ID nehemen, wenn man xhtml 1.0 strict schreibt. Der Validator sagt aber jetzt, daß es nun valide ist.

              name fällt erst bei XHTML 1.1 raus.

              Viele Grüße (auch an Gaston)

              Carsten

  2. Hallo,

    Kann mir von Euch vielleicht wer erklären, was dem Validator bei folgender Seite nicht paßt :

    http://www.blutspur.net/newsletteranmeldung.html

    Probiern wirs mal mit folgendem Link (dann das nächste mal bitte gleich so): http://validator.w3.org/check?uri=http%3A%2F%2Fwww.blutspur.net%2Fnewsletteranmeldung.html

    Versuch mal hier

    36:     <div class="messagewindow" style="padding-top:20px;">
      37:       <form action="bestaetigung.php" method="post">

    dein div und dein form zu vertauschen, dann sollte es denke ich gehen.

    Viele Grüße,

    Stefan

    1. Hi Stefan!

      (dann das nächste mal bitte gleich so)

      Ich war der Meinung, man muß beim Validieren immer neu einsteigen. Wieder was dazugelernt.

      Versuch mal hier
      dein div und dein form zu vertauschen, dann sollte es denke ich gehen.

      Wieso? Ich habe ein div, in dem sich das Formular befindet. Also muß der Quelltext doch logischerweise

      <div>
      FORMULAR
      </div>

      sein.

      Rossi

  3. Hallo Rossi,

    Kann mir von Euch vielleicht wer erklären, was dem Validator bei folgender Seite nicht paßt :
    http://www.blutspur.net/newsletteranmeldung.html
    Wo liegt denn da mein Fehler im Formular?

    form-Elemente dürfen nur block-level- und Script-Elemente enthalten (siehe http://www.w3.org/TR/html401/interact/forms.html#edef-FORM), wenn du den Inhalt des form-Elements in ein block-level-Element packst (z.B. <p>), sollte die Seite valide sein.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  4. Guten Abend!

    Nachdem ich nach 2 Stunden Googeln und Suchen im Archiv keine Lösung gefunden habe, gebe ich`s jetzt auf. =(

    Kann mir von Euch vielleicht wer erklären, was dem Validator bei folgender Seite nicht paßt :

    http://www.blutspur.net/newsletteranmeldung.html

    Wo liegt denn da mein Fehler im Formular?
    Nachdem alle Fehlermeldungen gleich klingen, kann es ja nur ein bestimmter Syntax-Fehler sein. Aber ich finde ihn einfach nicht. =(

    Ich glaub, ich seh jetzt den Wald vor lauter Bäumen schon nicht mehr. =(

    Danke im Voraus!

    Rossi

    Servus,

    das liegt am Formular, vor dem gleichen Problem stand ich auch. Gib jedem "Input" eine eigene Id und das Problem sollte behoben sein.

    <form action="bestaetigung.php" method="post">
    <p><label for="name">Ihr Name:</label><br />
    <input type="text" id="name" name="name" size="35" /><br />
    <label for="mail">Ihre Mailadresse:</label><br />
    <input type="text" id="mail" name="mail" size="35" /><br />
    <input type="submit" value="Absenden" /></p>
    </form>

    Das müsste eigentlich so klappen.

    In diesem Sinne.

    O.