XHTML1 Strict - autofocus signalé en erreur par W3C
Résolu
metalcat
Messages postés
77
Statut
Membre
-
metalcat -
metalcat -
Bonjour,
Je veux que le 1er champ de mon formulaire ait le focus au chargement de la page. Cela fonctionne avec autofocus="autofocus" ou avec autofocus seul mais le validateur W3C signale une erreur dans les 2 cas.
Message : "le type de document de supporte pas cet attribut pour cet élément ...".
Le type de document est XHTML1 Strict avec du traitement en PHP.
extrait de mon code :
Connaissez-vous la façon de donner le focus à un champ dans un document de type XHTML1 Strict ?
La page est un fichier avec l'extension .PHP bien entendu.
ça fait des heures que je cherche une solution sur le net en vain.
Merci d'avance.
--
Je veux que le 1er champ de mon formulaire ait le focus au chargement de la page. Cela fonctionne avec autofocus="autofocus" ou avec autofocus seul mais le validateur W3C signale une erreur dans les 2 cas.
Message : "le type de document de supporte pas cet attribut pour cet élément ...".
Le type de document est XHTML1 Strict avec du traitement en PHP.
extrait de mon code :
<input type="text" name="get_pseudo_adr" autofocus="autofocus" size="25" maxlength="25" id="pseudo" value="<?php if(isset($_POST['get_pseudo_adr'])) { echo htmlentities($_POST['get_pseudo_adr']);}?>"
class="<?php if($pseudo_adr_color==1){echo 'color_red';}
elseif (isset($_POST['get_pseudo_adr'])) {echo htmlentities($_POST["get_pseudo_adr"]!="")?'':'border_red'; }?>" /><br />
Connaissez-vous la façon de donner le focus à un champ dans un document de type XHTML1 Strict ?
La page est un fichier avec l'extension .PHP bien entendu.
ça fait des heures que je cherche une solution sur le net en vain.
Merci d'avance.
--
4 réponses
-
Bonjour,
Je n'utilise pas autofocus dans mes formulaires, mais du JavaScript :<script type="text/javascript">document.nom-du-formulaire.nom-du-champ.focus();</script>
Par curiosité j'ai cherché comment utiliser l'attribut autofocus, voici ce que j'ai trouvé chez OpenClassrooms :<input type="text" name="get_pseudo_adr" id="pseudo" autofocus />
Courage, le bout du tunnel n'est pas loin, il suffit de se retourner. -
Bonjour dugenou,
Merci pour ta réponse rapide.
Comme je m'y attendais, la solution de OpenClassrooms me donne le message suivant par W3C validator :
Line 55, Column 28: "autofocus" is not a member of a group specified for any attribute
Je vais adopter ta solution en javascript.
Un grand merci.
metalcat -
Ben non ça ne marche pas avec javascript. Je n'ai pas le focus et W3c me donne le message :
" Line 54, Column 12: there is no attribute "name"
<form name="formulaire_identification" action="http://metalcat.legtux.org/membr…
extrait de mon code :
<div class="formulaire">
<script type="text/javascript">document.formulaire_identification.get_pseudo_adr.focus();</script>
<span style="font-weight:bold; padding-left:11px;">Contrôle accès - Identification</span>
<form name="formulaire_identification" action="http://metalcat.legtux.org/membre_identification.php?adresse_url=<?php echo $_GET['adresse_url'];?>&background=<?php echo $_GET['background'];?>" method="post">
<fieldset style="border:0; padding-left:12px;">
<label for="pseudo">Pseudonyme ou <br />adresse de messagerie</label>
<input type="text" name="get_pseudo_adr" size="25" maxlength="25" id="pseudo" value="<?php if(isset($_POST['get_pseudo_adr'])) { echo htmlentities($_POST['get_pseudo_adr']);}?>"
class="<?php if($pseudo_adr_color==1){echo 'color_red';}
elseif (isset($_POST['get_pseudo_adr'])) {echo htmlentities($_POST["get_pseudo_adr"]!="")?'':'border_red'; }?>" /><br />
Une idée ? -
Le W3C validator rejette l'attribut name.
message : "there is no attribute "name". Alors qu'il est présent. Bizarre.
Mais j'ai trouvé sur le net ceci qui fonctionne :
<script type="text/javascript">
function loadFocus()
{document.getElementById('pseudo').focus();}
window.onload = loadFocus;
</script>
Placé après </form>
Merci quand même. J'espère que ça va aider.
metalcat