2010-09-23 4 views
0

J'ai un formulaire avec quatre questions oui-non, par ex.validation de formulaire - nécessite qu'un bouton radio * spécifique * soit coché dans chaque groupe radio

I am age 18 or older. () Yes () No 

fragment HTML:

<form> 
... 
<tr id="age_q"> 
    <td class="prompt">I am age 18 or older.</td> 
    <td class="yesno"> 
    <input type="radio" name="age" value="yes" id="age_y" class="required"> 
    <label for="age_y">Yes</label> 
    <input type="radio" name="age" value="no" id="age_n"> 
    <label for="age_n">No</label> 
    </td> 
</tr> 
... 

Il est un formulaire de consentement; l'utilisateur ne peut pas passer à la page suivante à moins que les quatre questions ne soient répondues "oui". J'essayais d'appliquer cette règle avec le plugin jQuery + validator, mais sa notion de "requis" pour les groupes radio semble être "un bouton a été coché" plutôt que "ce bouton a été coché."

Quelqu'un peut-il suggérer une technique? Je ne suis pas marié à jQuery + validateur, je serais heureux d'utiliser une autre bibliothèque si elle fait ce que je veux facilement. Idéalement, le bouton «Soumettre» serait activé quand et seulement lorsque les quatre boutons radio «Oui» ont été cochés. (Le PHB voulait chacune des questions, et le bouton soumettre finale, à apparaissent quand et seulement quand le précédent bouton « oui » a été cochée, mais je pense que ça va être laid et confus.)

Répondre

0

définir votre « non » radios pour avoir une classe .no ou quelque chose:

if ($('.no:checked').length) { 
    //not valid 
} else { 
    //valid 
} 

est ici un échantillon de travail: http://jsbin.com/oguzi4/edit

+0

« non .no est cochée » est pas tout à fait ce que je dois, mais une légère variation fonctionne très bien. Merci. – zwol

+0

pas de problème! bonne chance :) – Jason

Questions connexes