2010-03-08 4 views
3

Un échantillon de l'extrait de code HTML est ici:plug-in de validation jQuery est un élément défaillant validations, même lorsque les éléments sont désactivés

<select name="paytitle" id="paytitle"> 
    <option value="Budget Keeper" selected>Budget Keeper</option> 
    <option value="Bookkeeper">Bookkeeper</option> 
    <option value="Treasurer">Treasurer</option> 
    <option value="Accounts Payable">Accounts Payable</option> 
    <option value="Other">Other</option> 
</select> 
<div id="otherfield">Other: <input name="paytitleother" type="text" id="paytitleother" class="required" /></div> 

j'ai une fonction qui désactive et masque le champ paytitleother sur la base de la valeur de sélection:

$('#paytitle').change(function() { 
    if ($(this).val() == 'Other') 
    { 
     $("#paytitleother").removeAttr("disabled"); 
     $("#otherfield").css("display", "block"); 
    } else { 
     $("#paytitleother").attr("disabled", true); 
     $("#otherfield").css("display", "none"); 
    } 
}); 

Lorsque je tente de soumettre le formulaire, le champ paytitleother ne parvient toujours pas la validation même si il est désactivé et caché. Documentation sur le plug-in de validation des états tous les champs sont ignorés automatiquement handicapés, mais je suis allé l'étape supplémentaire pour ajouter ignore: ":disabled" à la routine de validation:

$('#fieldForm').validate({ 
    ignore: ':disabled', 
    ... 
}); 

Même avec cette spécification, la validation du champ échoue. Je travaille toute la journée sur ce projet il est donc possible que je donne sur quelque chose de simple, mais je ne peux pas le voir et ne peut comprendre pour la vie de moi ce qui se passe.

Répondre

2

Lorsque vous définissez l'attribut disabled, essayant en utilisant une valeur « disabled » au lieu de true, comme ceci:

$("#paytitleother").attr("disabled", "disabled"); 

Le jQuery documentation sur .attr() a quelques commentaires relatifs à la façon dont définir l'attribut « désactivé » en HTML 4 vs XHTML et même quelques réflexions sur HTML5.

+0

merci - J'ai lu des informations contradictoires sur la méthode (vrai par rapport à « désactivé ») à utiliser et j'essayer de rester à l'écart du développement front-end, autant que possible - ce en combinaison avec la réalisation du concepteur n'a pas prérégler la état initial de tous les éléments cachés à désactivé pour commencer fixe toutes mes questions –

Questions connexes