5568 sujets

Sémantique web et HTML

Bonjour à tous.

Je ne suis pas certain que le post est au bon endroit, mais bon ...

Jusqu'à présent j'utilisais un script javascript externe dans mes pages afin de tester certaines valeurs saisies dans les formulaires proposés à mes visiteurs...

donc sur le tag <form> j'avais une OnSubmit(tatata)

et sur les champs nécessitant un test, un OnBlur(formule magique qui va bien)

Cette méthode pose t'elle problème quand on souhaite être conforme ?

Le fait de mettre des appels Javascript dans les pages est conforme ou pas ?
Modifié le 22 Nov 2004 - 19:45
Rassure toi, vu la nature de ta question, tu poste au bonne endroit Smiley smile

Sinon, oui, tu peut tout a fait intégré les gestionnaires d'evenements dans ton code (X)HTML. Le seul point à verifier c'est de t'assurer que les evenements que tu appelles sont ecrit en minuscule (onsubmit, onblur...) lorsque tu utilise un doctype XHTML (c'est imposé par la syntaxe XML Smiley cligne )

Maintenant, du point de vu lisibilité et maintenabilité du code, j'encourage toujours à séparer strictement les balises HTML de la gestion evenementielle en écrivant tout les gestionnaires d'evenement dans un fichier Javascript externe (entre autre en utilisant le fameux window.onload et l'accès au element via document.getElementById).

Du point de vu de l'accessibilité, quelque soit l'endroit ou tu choisie d'ecrire tes evenements, il est important de t'assurer que ta page restera utilisable si l'internaute à désactivé le JavaScript.
OK, pour être franc, je suis une buse en javascript, donc j'utilise un script libre qui me débrouille le truc et je ne pourrais le modifier pour que les fonctions soient appelée par document.getElementByID, par contre je peux m'assurer que la syntaxe soit propre.

Le but de ce script est de me permettre de valider certains éléments saisis par l'utilisateur ou par exemple comparer des champs.....

Les événement javascript sont aussi valident en XHTML strict ?

Merci... pour ta réponse top rapide.
Modifié le 22 Nov 2004 - 17:32
ernstein a écrit :
Les événement javascript sont aussi valident en XHTML strict ?

Oui Smiley cligne

Mais il faut que tu te mefies... valider un formulaire via JS peut poser des problèmes si l'utilisateur à désactivé le JS... cela ne te dispense donc pas de faire une verification via un langage coté serveur.
Modifié le 22 Nov 2004 - 19:21
ha, faut s'y faire à tous ces détails important ...

merci pour le conseil, ja vais plancher pour une validation coté serveur.
Je me joins à Jep pour affirmer que
"Rien ne vaut mieux qu'une vérification de tes données coté serveur". Je m'explique: Il est TRÈS simple de "sauter" ton formulaire pou envoyer les données que l'on veut à ton script. La méthode POST ne garantit rien d'ailleurs.
Personellement, quitte à recharger la page et "perdre" un peu de temps, je préfère mille fois la vérification côté serveur à laquelle personne ne peux échapper. Par ailleurs, si ton script comporte une faille telle que (en PHP)
 <?php
   include($_GET['page']);
?>
, tu prends de gros gros risques en ne te fiant qu'à la vérification côté client. Après, tu fais comme tu la sens, mais je te conseille fortement de ne PAS faire de vérification par JavaScript (ça a beau être "valide", j'aime pas le JavaScript).

Voilà, tout est dit Smiley lol

@+, HoPHP
Modifié le 22 Nov 2004 - 20:28
Modérateur
Dans le meilleur des mondes, vaut mieux utiliser les deux : validation côté client et côté serveur. L'un n'empêche pas l'autre. Smiley cligne
@Merkel,

Tu vois la choses comment ?
javascript, puis serveur d'application ensuite ?

Ce que je trouve galère c'est les allé retour entre le client et le serveur pour présenter les erreurs....

Tu as une ruse ?
Modifié le 22 Nov 2004 - 20:48
Y'a pas à se casser la tête, dans ces cas-là c'est vérification côté serveur ou côté serveur + client.
Une vérification en JS ça vaut rien, mais si ça peut-être sympatique si il y aussi une vérification côté serveur (du genre ça te dis que ton textarea est vide avant que tu l'envoie)
Modérateur
Voilà, avant l'envoi du formulaire, tu valide les champs avec Javascript. S'il y a une erreur, le formulaire n'est pas envoyé tout simplement, ce qui évite l'envoi inutile de données sur le serveur et l'utilisateur ne doit pas attendre le rechargement de la page pour voir les champs invalides.

En complément, une fois le formulaire envoyé et validé côté client, tu valide à nouveau côté serveur au cas où que le Javascript ne serait pas activé ou disponible sur le navigateur du client.

Évidemment, on ne peut pas tout valider côté client. Certaines validations nécessitent la consultation d'une base de données. Il reste que valider quelques informations simples côté client est une bonne pratique, bien qu'honnêtement, je ne le fasse pas (encore). Smiley rolleyes
Yep.
En fait c'est plus ou moins ce que je fais, du genre l'adresse email est déjà utilisée par un autre utilisateur ou je ne sais qu'elle type d'autre test...

merci, Je vais par contre faire en sorte que la validation coté serveur soit faite sur tous les champs....
Modifié le 22 Nov 2004 - 22:09