2009-11-13 12 views
1

J'ai 2 formulaires dans 2 div différents qui sont cachés, si l'utilisateur clique sur un (login, registre) le div correspondant est montré.Chaque élément de formulaire avec son identifiant commençant par une étiquette

J'ai nommé les champs de formulaire comme reg_username, reg_email ... et les champs de connexion sont nommés login_username login_password.

Maintenant, j'ai créé une fonction qui valide les champs. Lorsque je passe à travers avec cette partie du code

$("#account").find(':input').each(function(i) { 
}); 

trouve tous les champs de formulaire. Le div #account est mon div principal où tous les champs sont dans les 2 div #register et #login. Il y a d'autres champs de saisie dans ces 2 div.

En fonction de la div je veux seulement vérifier les champs en commençant par un tag (reg ou connexion), y at-il un moyen d'obtenir seulement ce div et pas tous?

Répondre

2

Pour enregistrer:

$(":input[name^='reg_']").each(function(){ 
// validation stuff here 
}); 

et pour la connexion:

$(":input[name^='login_']").each(function(){ 
// validation stuff here 
}); 

Ces sélecteurs correspondent uniquement les entrées de formulaire dont name attribut commence parreg_ et login_, respectivement.

Si vos « tags » (reg_ et login_) sont dans le id des éléments et non le name, il suffit de changer name-id dans le code ci-dessus. Voir la attributeStartsWith jQuery selector.

+0

Mettez à jour ma question un peu, il y a un autre champs de formulaire dans ces divs. Le compte div est ma div principale (où #register et #login 2 div sont) – user207675

+0

Je suis encore un peu confus, mais je pense que je comprends ce que vous voulez. Mise à jour ma réponse –

+0

Cela a fonctionné hors de la boîte, merci beaucoup! Pourriez-vous me dire pourquoi vous étiez confus? Alors que la prochaine question que je pourrais poser est plus claire. – user207675