2010-07-20 7 views
167

Ist es zulässig, <input> zu haben, ohne dass es in einer <form> ist?Ist gut gebildet ohne <form>?

Haben Sie einen Prozess zum Markieren einiger Felder in Seiten und nur eine Seite mit Eingabefeldern gefunden, die nicht wie erwartet markiert wurden.
Es hat eine Weile gedauert, aber ich habe herausgefunden, dass der Prozess, die Formularelemente zu bekommen und dann die Felder zu bekommen, dazu geführt hat, dass sie übersehen wurden, weil es kein Formular gibt.

+0

@Adriano - mein Gedanke genau. lauf einfach durch und sieh zu! –

+1

Sure [w3c validator] (http://validator.w3.org/), ich hätte wirklich hinzufügen sollen, dass eine Erklärung hinterher nett wäre. –

+0

Ich meine auch, dass es für einige Versionen von HTML, aber nicht für andere gültig sein könnte, und in diesem Fall ist der Validator viel schneller als das Durchlesen der Standards. –

Antwort

161

<input> ohne <form>appears valid, ja (zumindest für HTML 4.01, suchen nahe dem Ende des 17.2.1):

Die verwendeten Elemente zu Kontrollen schaffen Allgemeinen innerhalb eines Formulars Element erscheinen, aber kann auch außerhalb von einer Formularelementdeklaration angezeigt werden, wenn sie verwendet werden, um Benutzer Schnittstellen zu erstellen. Dies wird im Abschnitt über intrinsische Ereignisse diskutiert. Beachten Sie, dass Steuerelemente außerhalb eines Formulars nicht erfolgreiche Steuerelemente sein können.

+0

Ich habe gerade ein ''-Tag außerhalb eines Formulars in Visual Studio 2010 erstellt und es hatte kein Problem damit. Ich stimme zu, es ist seltsam, sogar sinnlos, aber nicht illegal. –

+0

Ta, hatte Probleme beim Finden dieser Information –

+1

dann, was ist der Punkt, Formular und Eingabe Name mehr zu verwenden? Wir können alle Input mit ID verwenden, ist das nicht einfacher für alle? –

1

Ja, Sie können eine gültige Eingabe ohne ein Formular haben.

+12

Nun, Sie könnten einige Beweise hinter dem hinzufügen 'Ja'. Oder eine Klärung, für welche Versionen von HTML dies zutrifft. Trotzdem hätte ich dich nicht heruntergestuft. –

+8

Also mit Ihrer Begründung warum überhaupt SO haben, wenn der Benutzer einfach zu W3 gehen und es selbst nachschlagen kann? Ich hätte Sie auch nicht abwerten können, aber ich würde zustimmen müssen, dass derjenige mit mehr Erklärungen in einer klaren und prägnanten Art und Weise den Zuschlag erhält, weil eine Erklärung sowie die richtige Antwort das ist, was hier bei SO am hilfreichsten ist. – Mattygabe

54

Ich überprüfte das Folgende mit der W3C validator und es bestätigt, dass dies gültig ist.

<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <input type='text' /> 
</body> 
</html> 
-5

Sicher, verwenden

document.getElementById('your_input_id').validity.valid 

dynamisch Gültigkeit des Feldes zu überprüfen.

+23

Das hat nichts mit Markup-Validität zu tun, sondern ist für die [constraint validation API] (https://www.w3.org/TR/html5/forms.html#the-constraint-validation-api). Wie diese Antwort 8 Upvotes hat, ist mir ein Rätsel. – Stijn

Verwandte Themen