5568 sujets

Sémantique web et HTML

Bonjour,

Dans le cadre de mes études, j'ai un QCM sur HTML5/XHTML à faire. Pourriez-vous m'aider sur ces questions ? Smiley biggrin Smiley biggrin Smiley biggrin

1) Il existe un attribut de la balise form permettant d’interpréter une expression régulière?
A)Vrai B)faux

2) La balise output doit toujours être associée à une balise input
A)Vrai B)faux

Cordialement,
Marc
Modifié par marc888 (07 Nov 2019 - 11:07)
Modérateur
Bonjour,

Confucius, parait-il, a dit "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson".

Pour trouver la réponse à ce type de question où même un expert pourrait se tromper s'il ne vérifie pas, la méthode est la suivante :
1) On ouvre un navigateur
2) On va sur la page d'un moteur de recherche
3) On demande "form balise" (note au passage que même des mots clés en français vont marcher)
4) On clique sur l'un des liens qui apparaissent (celui commençant par "https://developer.mozilla.org" a ma préférence en général)
5) On lit la page, et on obtient la réponse

En généralisant ce procédé, on obtient la réponse à quasiment toute question concernant la syntaxe des langages du web. Bien sûr, il faut un peu d'expérience pour comprendre les explications, mais si on ne commence jamais à butiner, on n'acquiert jamais cette expérience, et on est alors tributaire des conseils des autres à vie !

Amicalement,
Modifié par parsimonhi (07 Nov 2019 - 13:38)
Meilleure solution
Modérateur
Bonjour,

Finalement, la réponse à la question 2 n'est pas évidente, même quand on sait très bien se servir d'un moteur de recherche. Smiley smile

Par exemple le lien https://www.alsacreations.com/tuto/lire/1412-formulaire-html5-element-output.html laisse entendre qu'il faut une balise input.

Mais le code ci-dessous s'en passe très bien !

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Output tag</title>
<style>
textarea {width:3em;height:1.5em;}
</style>
</head>
<body>
<form oninput="result.value=parseInt(a.value)*2">
    <textarea type="range" name="a">10</textarea> * 2
    =
    <output name="result">20</output>
</form>
</body>
</html>


Soit le prof qui a posé la question fait gaffe à tout et la réponse est "Non", soit le prof manque un peu de rigueur et la réponse est "Oui" ! Smiley smile

Amicalement,
Modérateur
C'est juste la doc d'Alsa qui est erronée, au lieu de:

«les valeurs des id de chaque champ <input> nécessaire»

il faudrait écrire:

«les valeurs des id de chaque champ de formulaire nécessaire»

La question sonne comme un piège, on serait tenté de la valider, tant associer output à input parait cohérent, mais c'est faux.
Modérateur
Bonjour,
kustolovic a écrit :
La question sonne comme un piège, on serait tenté de la valider, tant associer output à input parait cohérent, mais c'est faux.

Tout à fait d'accord.

Ça semble fonctionner aussi avec une balise <div> et l'attribut "contenteditable".

D'après https://html.spec.whatwg.org/multipage/form-elements.html#the-output-element il suffit que ce soit des éléments appartenant au même "arbre" (reste à savoir de quel arbre il s'agit). On peut même se passer de l'attribut "for".

Le code ci-dessous avec un <div> + "contenteditable" et sans attribut "for" pour la balise <output> semble fonctionner sans problème. Mais ça ne prouve pas que ce soit valide aussi : ça ne serait pas la première qu'on verrait des codes invalides fonctionner ! Smiley smile
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Output tag</title>
<style>
div {display:inline-block;width:3em;height:1.5em;}
</style>
</head>
<body>
<form  oninput="result.value=parseInt(document.getElementById('a').innerHTML)*2">
	<div id="a" contenteditable>10</div> * 2
    =
    <output name="result">20</output>
</form>
</body>
</html>
Amicalement,