web-dev-qa-db-fra.com

Valider les cases à cocher dans une DIV cachée uniquement si affiché - Chronoform

J'ai un formulaire dans Chronoform où il y a deux cases à cocher, lorsque vous sélectionnez la deuxième case à cocher, un DIV masqué devient visible. À l'intérieur de cette DIV cachée, il y a 16 autres cases à cocher. Au moins une de ces cases à cocher doit être sélectionnée pour continuer.

Avec les deux premières cases à cocher, j'utilise class = "validate ['group [1]']" qui fonctionne parfaitement pour obliger l'utilisateur à choisir entre les deux premières options.

J'ai essayé d'utiliser class = "validate ['group [2]']" sur les cases à cocher de la DIV masquée, mais si la DIV reste masquée, elle force toujours la validation. Vous ne pouvez donc pas passer à autre chose, sauf si vous ouvrez cette DIV et sélectionnez au moins une option.

Comment valider les cases à cocher de la DIV masquée uniquement si la DIV masquée est ouverte?

Vous pouvez voir le formulaire sur jsfiddle , mais il ne s'ouvre pas comme il le fait avec Joomla et Chronoforms, je peux donc poster un deuxième lien vers une version fonctionnelle de celui-ci.

Je suis ouvert à l'utilisation de scripts personnalisés tels que jQuery côté serveur, si nécessaire.

Je ne suis pas un bon codeur, alors calmez-vous, s'il vous plaît.

3
Melvins138

Dans votre javascript qui affiche/cache les divs, supprimez/remplacez la classe CSS de validation utilisée pour déterminer si un champ doit être validé.

Bien sûr, vous voudrez remplacer valider- * par quelque chose d'autre afin de savoir quoi remettre lorsque la div est visible.

Vous ne savez pas si vous utilisez du javascript pur, bootstrap ou jquery pour accomplir le masquage - donc pas de code spécifique à vous montrer. Si vous utilisez bootstrap, d'autres événements auxiliaires peuvent vous aider vous en accomplissant cela.

2
Michael