Laut w3c ist input-Tag im form-Tag nicht erlaubt

Hallo html-Com,

ich bin zwar recht neu hier, habe aber schon recht gute Erfahrungen in X/HTML.
ich benutzte schon seit längerem den w3c Validator. Jetzt habe ich mir eine XHTML-Seite mit einem Formular gemacht fürs Kommentieren. Doch jetzt gibt er mir folgenden Fehler aus:

document type does not allow element „input“ here; missing one of „p“, „h1“, „h2“, „h3“, „h4“, „h5“, „h6“, „div“, „pre“, „address“, „fieldset“, „ins“, „del“ start-tag

bei folgendem Codeabschnitt:
[HTML]



"[/HTML] Doch ich versteh nicht warum ich das nicht so machen darf ?

MfG M4n94fr34k

Eingabefelder gehören in ein .

Hmm Ok. Vom Fieldset hab ich noch nichts gehört, aber das hat den Fehler behoben. Google sei Dank :smiley:
Danke auch an dich Thor

MfG M4n94fr34k

Das wiederspricht sich dann aber mit

recht gute Erfahrungen in X/HTML

denn das gehört zu den Grundlagen.

Wenn du diese auffrischen möchtest, kann ich dir diese Seite empfehlen (Einführung | Webdesign mit XHTML und CSS).

ich habe aber noch nie mit Formularen gearbeitet(XHTML != Formulare.Only) … und ich denke dass ist nicht immer notwendig … ich wollte damit nur klarstellen dass ich jetzt der neue Vollnewb bin

wenn ich weiter mit Formularen arbeite komm ich da ja noch rein. Aber trotzdem danke für den Tipp mit dem Fieldset-Tag und der Seite … sieht recht viel versprechend aus

Nicht zwingend, ein p-Element geht auch ohne Probleme.
Ein fieldset-Element dient zur Gruppierung von Eingabe-Elementen.

Man schreibt übrigens nicht:
[HTML][/HTML]

Sondern:
[HTML][/HTML]

Ein input-Element ist ein sogenanntes leeres Element (Standalone-Tag): SELFHTML: HTML/XHTML / Referenz /HTML-Elementreferenz

ich weiß was StandAlone-Tags sind … aber das wurde mir nicht angemarkt … naja ok es funktioniert ja jetzt

also geht auch ein p-Tag ?

Es geht jedes Blockelement, denn Inline-Elemente müssen in einem Blockelement stehen, aber ein fieldset bietet sich an, wenn du mehrere Eingabefelder gruppieren willst.

sowas wäre wieder ne perfekte Antwort gewesen ^^
ich hab auf p gewechselt

Damit machst du die Eingabeelemente zu einem Textabsatz, ist das sinnvoll?

mich nervt das fieldset mit der Umrahmung und ich will nicht css hinterher basteln wollen

kann ich auch div nehmen =?

So sollte es aber sein, denn CSS ist für das Aussehen zuständig, nicht HTML.

ach, warum müsst ihr immer Recht haben :smiley:

Müssen sie nicht, du kannst auch ein

verwenden.
Die Idiotie liegt nicht bei denen, die es dann so machen müssen, sondern bei denen, die definieren, dass es so gemacht werden muss.
Iframes sind z.b. lt. W3c auch noch erlaubt, allerdings kann man sie mit target nicht mehr ansteuern, target ist nicht erlaubt ???

was die sich wohl manchmal so in ihr pfeifchen stopfen…

Das target-Attribut ist ein Relikt aus den Zeiten, als man Webseiten noch mit Frameworks aufgebaut hat (auch wenn es damals schon keine gute Idee war).
Der Besucher sollte selbst entscheiden können, wie sich eine neue Seite öffnet.

iframes werden heute aber nicht mehr zur Seitengestaltung verwendet,
sondern um Werbung oder Inhalte von fremden Servern einzubinden, wie zum Beispiel ein Gästebuch.
Das ergibt also durchaus Sinn :wink:

Also target=„“ ist in HTML5 wieder drin.

Tatsächlich: HTML5 differences from HTML4
Na ja, ich werde es trotzdem nicht verwenden und sicher auch nicht vermissen.

Das ist meiner Meinung nach indiskutabel.
Wer einen Iframe verwendet, sollte ihn ansteuern können, was man nunmal mit target macht. Es ist der Iframe, der dem Besucher die Wahl nimmt. Entweder man bannt den Iframe oder man lässt das target attribut zu.
Eine JS Lösung ist da wohl der kompletteste Blödsinn, den man sich einfallen lassen kann. HTML5 nutzt mir wenige, da meine Seiten den Validator überleben müssen und dort das target-Attribut nun mal kritisiert wird.

Ein Bsp:
Dem User eine Wahl zu lassen ist lt. Pflichetenheft NICHT vorgesehen, das Ergebnis ist an einer bestimmten Stelle in einem eigenen Fenster auszugeben, PUNKT!

Ich habe also die Wahl:
target verwenden → ich fliege durch den Validator
JS verwenden → nichts geht mehr, JS ist abgeschalten und verboten
Validator ignorieren → geht nicht, Pflichtenheft sieht eine Validierung vor.

Vielleicht ist eine valide Seite einfach auch nicht alles.

Mein CSS ist voll von unbekannten Eigenschaften, aber es funktioniert. Ich benutze bestimmte HTML5-Elemente und Attribute, aber es funktioniert.

Sollte die Benutzbarkeit einer Webseite nicht eigentlich IMMER an erster Stelle stehen?
Eine Seite kann ein noch so gutes Design haben, wenn die Benutzer nicht klar kommen oder sich ärgern, sind sie ganz schnell wieder weg!