jQuery validation errorPlacement et la suppression d'éléments?
Ok, j'ai essayé quelques petites choses, mais je suis coincé ici...
Voici le code HTML, je travaille avec:
<div class="required">
<label for="paysys_idworldpay" class="labelRadio">
<input type="radio" value="worldpay" name="paysys_id" id="paysys_idworldpay" class="inputRadio"/>
<b>WorldPay</b></label>
<label for="paysys_idoffline" class="labelRadio">
<input type="radio" value="offline" name="paysys_id" id="paysys_idoffline" class="inputRadio"/>
<b>Paypal</b></label></div>
<div class="required">
<label for="email">Email Address</label>
<input type="text" value="" name="email" class="required email inputText" id="email" /></div>
et c'est le code que j'ai dans validate() de la fonction de cette forme:
errorElement: 'p',
errorClass: 'error',
errorPlacement: function(error, element) {
error.insertBefore(element.prev());
element.parent().addClass('error');
},
success: function(label){
label.removeClass('error');
label.parent().removeClass('error');
}
Maintenant, qui fonctionne très bien pour le domaine de la "e-mail" dans le formulaire ci-dessus (il insère un paragraphe et l'attribue à une class="erreur" avec l'ajout de "l'erreur" de la classe dans l'emballage div)... mais pour les boutons radio, il ne fonctionne pas de la même façon, il ajoute le "erreur" de classe autour de l'étiquette, et il n'a même pas d'insérer un paragraphe avec une erreur de catégorie. Pourquoi?
Ce qui me manque/faire de mal ici?
Aussi, comment puis-je ENLEVER l'ajout de l'alinéa dans le "succès" de la partie? Comme il est maintenant, il est juste enlevé le "erreur" de son attribut de classe, et à chaque lettre tapée dans le champ de saisie, il ajoute un paragraphe vide comme ceci:
<p generated="true" class=""/>
Donc je me retrouve avec un tas de ceux qui, dans toutes div pour chaque champ (en fonction du nombre de caractères tapés dans)... encore une fois, ce qui me manque?
OriginalL'auteur Crazy Serb | 2009-05-31
Vous devez vous connecter pour publier un commentaire.
Il serait utile si vous avez posté l'complet de validation de fonction et comment il a été câblé à votre formulaire.
Néanmoins, je pense qu'un couple de choses peut être souligné:
Vos boutons radio sont enveloppés à l'intérieur de leurs étiquettes, tandis que votre e-mail entrée est à côté de son étiquette. Votre code spécifie:
ce qui signifie qu'il va insérer l'erreur DIV avant le <input> de l'élément voisin précédent. Vos boutons radio ont pas de voisin précédent, il est seul à l'intérieur de l'élément label. Vous devez changer le code:
D'autre part, à supprimer les <P> balises lorsque quelque chose avec succès valide, vous devez appeler le supprimer() fonction:
Espère que cette aide.
OriginalL'auteur Jeff Meatball Yang
Avez-vous essayé de débogage avec FireBug? Pendant que vous l'utilisez, utilisez l'inspecteur DOM pour s'assurer que la structure de l'arbre correspond à vos attentes.
OriginalL'auteur jdigital