Est-il valide d'avoir <input>
sans qu'il soit dans un <form>
?
Ayez un processus pour marquer certains champs dans les pages et venez de trouver une page avec des champs de saisie qui ne sont pas marqués comme je m'y attendais.
Cela m'a pris un certain temps, mais j'ai compris que le processus d'obtention des éléments de formulaire, puis d'obtention des champs, est ce qui a causé leur absence, car il n'existe aucun formulaire.
<input>
sans <form>
semble être valide , oui (au moins pour HTML 4.01, regardez vers la fin de 17.2.1):
Les éléments utilisés pour créer des contrôles apparaissent généralement à l'intérieur d'un FORM élément, mais peut également apparaître à l'extérieur d'une déclaration d'élément FORM lorsque ils sont utilisés pour construire l'utilisateur interfaces. Ceci est discuté dans le section sur les événements intrinsèques. Notez que les contrôles extérieurs à un formulaire ne peuvent pas être contrôles réussis.
J'ai vérifié ce qui suit avec le validateur W3C et il confirme que cela est valide.
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<input type='text' />
</body>
</html>
Notez qu'il est toujours possible d'utiliser un widget de formulaire en dehors d'un élément, mais que si vous le faites, ce widget de formulaire n'a rien à voir avec un formulaire. Ces widgets peuvent être utilisés en dehors d'un formulaire, mais vous devez alors avoir un plan spécial pour ces widgets, car ils ne feront rien par eux-mêmes. Vous devrez personnaliser leur comportement avec JavaScript.
HTML5 introduit l'attribut de formulaire sur les éléments de formulaire HTML. Cela devrait vous permettre de lier explicitement un élément à un formulaire même s'il n'est pas inclus dans un. Malheureusement, pour le moment, la mise en œuvre de cette fonctionnalité sur les navigateurs n’est pas encore suffisante pour en dépendre.
Référence à une spécification plus à jour:
HTML 5.2 - Recommandation du W3C (14 décembre 2017)
Un élément associé à une fiche peut avoir une relation avec un élément
<form>
, appelé propriétaire de la fiche de l'élément. Si un élément associé à un formulaire n'est pas associé à un élément<form>
, son propriétaire est dit nul.
Oui, vous pouvez avoir une entrée valide sans formulaire.