2010-10-20 10 views
0

en utilisant jQuery, j'essaye d'obtenir une action assignée à un bouton sur un formulaire. J'ai 50 de ces formes sur une page, mais chaque fois que je clique sur un lien, l'action du formulaire est exécuté 50 fois !!Script JS en cours d'exécution pour chaque élément, plutôt que simple élément cliqué

j'ai couru cette option pour vérifier, et il vient exactement 50

`i=1 
     $('.thumbs').click(function(){ 
     console.log(i,"Click Count"); 
     i++; 
)}; 

cela a pour effet inutile d'exécuter AJAX cinquante fois !!

Est-ce que j'utilise des sélecteurs incorrect?

EDIT: full script here

EDIT: Example of one element - Il y a 50 de ces intérieur d'un conteneur div.

+1

Le code que vous avez ne serait-ce faire, ce * autre * exécute le code à ce sujet? –

+0

Pourquoi avoir 50 formulaires? Avez-vous 50 cibles de formulaire, ou seulement 50 actions? –

+0

Liez-vous la méthode de clic dans une boucle? –

Répondre

0

Ajoutez-vous l'écouteur à un bouton d'envoi? Assurez-vous de retourner vrai ou faux si le formulaire doit être soumis ou non.

+0

false est retourné - voir http://pastebin.com/X9TA0NQj pour le script complet –

+0

Envie de télécharger le code HTML? – EMMERICH

+0

Voir la deuxième modification à la question. –

0

il semble que cela pourrait être l'un des deux il y a: 1) vous avez ajouté 50 clic listners à un seul bouton: vous pouvez essayer en ajoutant:

$('.thumbs').unbind(); 

avant d'attribuer un nouveau gestionnaire .

Si c'est le cas, vous devriez essayer de trouver pourquoi et vous assurer que vous en ajoutez seulement un.

2) l'action par défaut du bouton est le problème:

comportement par défaut d'arrêt:

$('.thumbs').click(function(event){ 
event.preventDefault(); 
+0

sans raison valable, il a cessé de se comporter comme il était. Puis ça a recommencé !! J'ai ajouté ceci, et c'est réglé, je suis tellement confus !! –

Questions connexes