Bonjour,
Je génère par le DOM un groupe de boutons radio par un onchage sur un select. Je souhaite valider mon formulaire tant que ce groupe a été généré et qu'un bouton a été coché.
Comment le faire?
Merci d'avance...
Version imprimable
Bonjour,
Je génère par le DOM un groupe de boutons radio par un onchage sur un select. Je souhaite valider mon formulaire tant que ce groupe a été généré et qu'un bouton a été coché.
Comment le faire?
Merci d'avance...
Peut etre ca n'a pas été clair. En fait je génère dynamiquement un groupe de boutons radio sur un retour xhr depuis un onchange sur un select. Ce qui me terrasse c'est vérifier que les boutons sont bel et bien sur la page et un est bien sélectionné (cheched) avant la soumission du formulaire. Si le groupe des boutons n'est pas présent, le formulaire ne peut pas être soumis.
Je galère...
Ton groupe de boutons doit avoir un Id et teste sa présence avec un
Ensuite pour savoir si l'un des boutons est sélectionné :Code:
1
2
3
4
5
6 if(document.getElementById(id)){ // groupe présent ! }else { // groupe absent ! }
http://javascript.developpez.com/sources/
Code:
1
2
3
4
5 document.getElementById('id_du_formulaire').onsubmit = function(){ if(!document.getElementsByName('sexe').length){ return false; } };
Tu peux donner un nom de classe à chacun de tes boutons ;)
Javasacript va rechercher le nom de la classe et tester sa présence.
Sinon pour les ID peut-etre que tu peux rassembler tes boutons dans un cadre DIV qui aura une ID, et tester seulement la présence du cadre, seulement cela ne sera le reflet de la présence des boutons que si le code générant les boutons génère aussi le cadre ou alors l'active en mettant : display:block;
EDIT :
Heu j'avais oublié que tes boutons étaient peut-etre dans un form ;)
Bovino a la meilleure solution ;)
N'oublie pas le "Resolu" ;)
Le code ci-dessus me retourne le nombre de bouton, maintenant comment savoir qu'un bouton a été coché (checked)?Code:alert(document.getElementsByName('sexe').length);
Merci d'avance...
Bonsoir,
Regardes la Faq.
A+.
Je t'avais mis le lien dans ma réponse ;)