2 votes

Uncaught TypeError: l'objet n'est pas une fonction, bouton à l'intérieur d'un formulaire

J'ai le code suivant dans ma page jsp :

Lorsque je clique sur le bouton insereVuelta, une exception est levée avec le message :

Uncaught TypeError: object is not a function

Mais si je mets le bouton en dehors du formulaire, cela fonctionne normalement. Comment est-ce possible ? J'ai vraiment besoin de mettre le bouton à côté du bouton de soumission à l'intérieur du formulaire.

8voto

Riley Major Points 1148

Je pense que le problème vient du fait que la fonction a le même nom que le bouton lui-même. J'ai eu le même problème et en changeant le nom du bouton, le problème a été résolu. Il semblerait que le changement de nom de ton bouton ait aussi résolu le problème pour toi.

Conjecture :

Je supposerais que lorsque les noms sont les mêmes, l'interpréteur essaie d'appeler le bouton lui-même, plutôt que la fonction. Comme le bouton n'est pas une fonction, une erreur est déclenchée.

Je n'ai pas d'explication pour pourquoi ça a fonctionné pour toi quand le bouton était en dehors du formulaire, cependant. Peut-être que lorsque le bouton est en dehors du formulaire, l'interpréteur ne le relie pas automatiquement comme un objet accessible de la même manière, ou peut-être faudrait-il y accéder via un "parent".

0voto

Kris Points 2052

L'erreur est due à des problèmes avec les points-virgules. Vérifiez si votre script comporte des lignes qui manquent de points-virgules. Vous pourriez demander "alors pourquoi cela fonctionne-t-il à l'extérieur du formulaire?" L'insertion automatique de points-virgules échoue dans certaines situations; vous pouvez en savoir plus à ce sujet ici : Quelles sont les règles de l'insertion automatique de points-virgules en JavaScript (ASI) ?

Je pense que cela résoudrait le problème.

0voto

luisZavaleta Points 1122

InsereVuelta est utilisé comme nom et id de l'entrée et comme nom de la fonction, essayez de changer le nom et l'id ou le nom de la fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X