2009-07-29 7 views
0

J'utilise jquery.validate.js sur un formulaire qui fonctionne comme il se doit, à l'exception d'une zone où les utilisateurs peuvent choisir entre payer par chèque ou par carte de crédit. Selon l'option choisie, une div masquée s'affichera.Jquery Valider

Par chèque:

<div class="accordionButton"> 
<label for="Cheque"><input onclick="javascript: $('#li_buttons').show('slow');" type="radio" name="payby" id="cheque" value="Cheque"/>Pay by Cheque</label> 
</div> 

par carte de crédit:

<div class="accordionButton"> 
<label for="Credit Card"><input onclick="javascript: $('#li_buttons').show('slow');" type="radio" name="payby" id="credit" value="Credit Card" />Pay by Credit Card</label> 
</div> 

J'ai besoin de la carte de crédit validée uniquement si le bouton radio (id = "crédit") est cliqué. Donc, j'ai ajouté les règles inline suivantes à l'aide des classes (j'ai inclus seulement une partie du code):

<div class="accordionContent"><label class="description" for="card_name">Cardholder's Name </label> 
<li><input id="card_name" name="card_name" class="required #credit:checked" type="text" value="" /></li> 
<label class="description" for="free_quarter">Credit Card Type</label> 
<li><select "id="card_type" name="card_type" class="required #credit:checked"> 
<option value="">Select</option> 
<option value="visa">Visa</option> 
<option value="mastercard">MasterCard</option> 
<option value="am_ex">Am Ex</option> 
</select></li> 

Qu'est-ce qui se passe difficile, est qu'il est la validation même si la vérification a été choisie comme mode de paiement, et donc gagné » t soumettre sans les informations de carte de crédit fournies ..

Qu'est-ce que je fais mal?

Bravo et merci pour toute aide.

Répondre

0

Essayez ceci:

$("#myform").validate({ 
    card_type: function(element) { 
     return $("#credit:checked").length > 0; 
     } 
    });