Aller au contenu

Remplacer la propriété NAME


muskrare

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour muskrare

et bienvenue sur le Hub :)

Tu veux être en paix avec le W3C... un bon point B)

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

Lien vers le commentaire
Partager sur d’autres sites

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.

:angry: 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

Lien vers le commentaire
Partager sur d’autres sites

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

(...)

Lien vers le commentaire
Partager sur d’autres sites

:up:

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 !! :D

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...