Mon contrôleur de formulaire en javascript - HTML/CSS - Programmation
Marsh Posté le 09-12-2007 à 14:42:09
désolé mais c est un peu bordelique
quelques trucs qui me sautent aux yeux
les labels n ont pas besoin d id
ton script est trop figé...l array au début meme s il semble etre une bonne idée retire toute sa souplesse à l automatisation
si tu pouvais juste indiquer quel champs tu veux rajouter a la verification...
Marsh Posté le 11-12-2007 à 20:16:43
Ok, le code présenté vérifie les champs obligatoires et change la classe CSS du label si le champs associé est vide, puis soumet ou non le formulaire, avec un traitement particulier pour l'adresse email.
Ça serait plus simple en effet de mettre un <select> vide par défaut plutot qu'une checkbox. Sinon tu as le choix entre:
- ajouter un traitement particulier pour la checkbox
- ajouter un bout de javascript sur la checkbox pour fixer son champs 'value' en fonction de son champs 'checked' à l'aide de onchange.
N'oublie pas de faire ces vérifications aussi du côté serveur, sans quoi les utilisateurs qui désactivent javascript passent au travers des protections.
Marsh Posté le 11-12-2007 à 20:28:10
Une solution plus générique:
- sur chaque label, tu ajoute l'id du champs à controler, et le nom de la fonction de controle, avec des attributs customisés (<label myctrlfct="verifemail" myctrlfield="email" ...> ),
- pour vérifier le formulaire, tu parcours le document à l'aide de getElementByTag('label'), tu obtiens alors pour chaque label le nom du champs à vérifier, et la fonction qui va avec.
Marsh Posté le 08-12-2007 à 19:09:36
Bonsoir,
J'ai créer un formulaire (ci-dessous) pour un site, avec contrôleur de champs automatique.
J'ai décidé de rajouter un checkbox, et du coup j'aimerai qu'il soit contrôlé par mon javascript.
j'ai essayé de d'insérer un ID supplémentaire, mais rien à faire, je ne comprends pas.
Mais pour mieux cerner le problème, je vous met le code :
et le JS
Serait-il plus profitable de mettre un menu déroulant (plus facile?)
Je vous remercie de votre aide.
Bonne soirée
Gardem