muskrare Posté 28 Mars 2004 Posté 28 Mars 2004 Afin d'etre en paix avec le w3c, J'utilise un form comme menu avec un bouton Go et un JavaScript. Les pages de mon site sont valide xhtml 1.0 sauf pour l'utilisation de la propriété NAME qui se trouve dans le forme. Explication: La propriété Name est déprécié en xhtml et on devrait se servir de ID. Voilà, je sais po comment faire le changement pour que mon form fonctionne et que ma page soit valide pour le w3c. Voici le début et la fin de mon form: <form name="formulaire"> Sélectionnez le mois :<br /><br /> <select class="selection" name="liste"> ... <input type="button" class="navigue" value="Ok..." onclick="navigation();" /> </form> Si qqun peut m'indiquer la nouvelle façon de s'y prendre sans utiliser Name ... ce serait super ! Merci de prendre le temps de me lire. Mkr
Monique Posté 28 Mars 2004 Posté 28 Mars 2004 Bonjour muskrare et bienvenue sur le Hub Tu veux être en paix avec le W3C... un bon point Mais rassure-moi : les pages de ton site seront accessibles aussi à ceux qui ont désactivé JavaScript ou n'y ont pas accès (comme les non-voyants qui utilisent un navigateur vocal) ? Pour obtenir un formulaire accessible et valide, tu trouveras toutes les explications dans ces deux articles sur Openweb : - Utilisation des formulaires - Bien valider ses formulaires avec Javascript
muskrare Posté 29 Mars 2004 Auteur Posté 29 Mars 2004 Merci Monique, les articles sont intéressant pour comprendre les formulaire mais ils ne traitent pas du cas qui me concerne. Les articles sur Openweb traitent de formulaires utiliser pour envoyer une info. Dans mon cas, je me sert de form pour effectuer un choix et aller sur l'url précis pour ce choix. Je n'arrive pas à faire les bonnes associations pour construire un form avec ID plutot que NAME. Comme je m'y connait très peu je me sers d'un JavaScript que j'ai trouvé sur un site. Peut-etre que c'est dans l'écriture du JavaScript qu'il y aurait un changement à faire. Voici le scripts qui me permet de naviguer: function navigation() { lieu = document.formulaire.liste.options[document.formulaire.liste.options. selectedIndex].value; window.location.href = lieu; } Formulaire et liste sont relié à la propriété name et je ne peut pas le modifier sinon ça cesse de fonctionner. Mkr
ams51 Posté 29 Mars 2004 Posté 29 Mars 2004 Il me semble que la solution de ton pb se trouve bien dans la page d'openweb (bien valider ses pages en javascript): La vérification de formulaire en Strict Le problème des DTD Strict (HTML 4.01 Strict, XHTML 1.0 Strict ou XHTML 1.1), c'est que l'attribut "name" de la balise form est obsolète. Du coup, il est impossible de récupérer l'objet formulaire par l'instruction suivante comme on a trés souvent l'habitude de faire : document.formSaisie. Cette instruction est en fait un raccourci de ce qu'il faudrait faire. Utilisation du DOM avec la collection forms (...)
muskrare Posté 29 Mars 2004 Auteur Posté 29 Mars 2004 Merci ams51, tu m'as ramener au bon endroit, j'ai trouvé la solution que je cherchait. Maintenant j'ai mis l'attribut id à la place de l'attribut obsolète name. J'ai réécrit la fontion JavaScript de cette façon: function navigation() { lieu = document.forms['formulaire'].elements['liste'].options[document.forms['formulaire'].elements['liste'].options. selectedIndex].value; window.location.href = lieu; } Voilà et ça fonctionne comme avant et ma page web est Well_Formed !!
Raphael Posté 29 Mars 2004 Posté 29 Mars 2004 Sinon, avec un id="toto", il suffit de faire un getElementById("toto")
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant