2010-09-29 5 views
0

Possible en double: jQuery custom validation method issuevalidation jQuery ne fonctionne pas onchange

J'ai une liste de sélection qui est nécessaire. Il valide bien, mais ne supprime pas le message d'erreur lorsque vous modifiez la valeur de la sélection. Je ne sais pas pourquoi, j'ai déjà utilisé ce même code auparavant et je n'ai pas eu ce problème.

Le code HTML:

<table border="0" cellspacing="0" cellpadding="0" class="menu"> 
    <tr> 
     <form action="PHP/Nt6Subscribe.php" method="post" id="SinglePmnt"> 
      <td width="211"> 
       <select name="technology" class="select"> 
       <option value="" selected="selected">&nbsp;Please Select</option> 
       <option value="Interactive Brokers">&nbsp;Interactive Brokers</option> 
       <option value="MB Trading">&nbsp;MB Trading</option> 
       <option value="Patsystems">&nbsp;Patsystems</option> 
       <option value="PFG">&nbsp;PFG (Peregrine Financial)</option> 
       <option value="TD AMERITRADE">&nbsp;TD AMERITRADE</option> 
       <option value="Trading Technologies">&nbsp;Trading Technologies</option> 
       <option value="Vision Financial Markets">&nbsp;Vision Financial Markets</option> 
       <option value="Hosted">&nbsp;Zen-Fire</option> 
       </select> 
      </td> 

      <td width="189">Single Payment of $995</td> 

      <td width="211"> 
       <input type="hidden" name="item_number" value="34"> 
       <input type="submit" value="" class="orderNow" /> 
      </td> 
     </form> 
    </tr> 
</table> 

Le code JavaScript:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var validator = $("#SinglePmnt").validate({ 
      rules: { 
        technology: { 
         required: true 
        } 
      }, 
      messages: { 
        technology: { 
          required: "Please select your broker technology" 
        } 
      }, 
      errorElement: "span", 
      errorPlacement: function(error, element) { 
       error.appendTo(element.parent("td")); 
      } 
     }); 
    }); 
</script> 

En résumé, il valide lorsque vous le laissez sur "S'il vous plaît Sélectionnez" qui n'a pas de valeur lorsque vous cliquez sur Envoyer. Si vous modifiez la valeur, l'erreur ne disparaît pas comme il se doit.

Répondre

0

Je crois que vous avez besoin d'un identifiant sur la technologie de sélection champ de sélection

+0

Je crois qu'il va par l'attribut de nom, de toute façon pour les grils j'ai ajouté l'ID et il ne supprime toujours pas le message d'erreur onchange. thx –

+0

hmm, c'est peut-être un problème parce que c'est un choix. Je n'ai jamais été un grand fan de ce validateur. Pourriez-vous essayer de valider la longueur pour s'assurer que c'est plus long que 0 peut-être? – Ascherer

0

Essayez de forcer la validation en cas de flou.

$('#singleTech').blur(function(){ 
    $('#SinglePmnt').validate().element('#singleTech'); 
}); 

jQuery change() on <select> and firefox

Le lien direct vous semble posté plus tôt pour travailler dans IE, mais pas FireFox.

+0

thx à nouveau Ill donner un coup de feu. –

+0

Quelle version du validateur avez-vous? Votre lien direct ne fonctionne pas pour moi dans FireFox, seulement IE. Mais, si je copie votre sélection sur mon site (je voulais tester le flou), cela fonctionne avant tout changement. – RememberME

Questions connexes