4 votes

jQuery ,Uncaught TypeError : $(...).autoNumeric n'est pas une fonction

J'essaie de mettre en œuvre le plugin jQuery autoNumeric mais je continue à obtenir ce message d'erreur dans la console.

Uncaught TypeError : $(...).autoNumeric n'est pas une fonction

Markup :

 <input type="text" class="employee_annual_salary />   
 <script type="text/javascript" src="http://www.example.co.uk/assets/js/autoNumeric.js"></script>
 <script type="text/javascript">
     $(function() {
        $(".employee_annual_salary").autoNumeric('init');
     });
 </script>

J'ai ces scripts dans l'en-tête

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/tinymce/tinymce.min.js"></script>
<script type="text/javascript" src="http://www.example.co.uk/assets/js/moment.js"></script>
<script type="text/javascript" src="http://www.example.co.uk/assets/js/autogrow.js"></script>
<script type="text/javascript" src="http://www.example.co.uk/assets/js/jquery.elastic.source.js"></script>

Comment puis-je résoudre ce problème ?

0 votes

En quoi cela résout-il ma question ? J'ai regardé dans cette question et ça n'explique pas pourquoi j'obtiens cette erreur ?

0 votes

AutoNumeric fait-il partie de jquery et jquery UI ? Je pensais que c'était un plugin tiers : github.com/BobKnothe/autoNumeric

0 votes

Selon l'information sur l'erreur, vous devrez peut-être vérifier si le script autoNumberic.js a été chargé avec succès ou non.

4voto

1stthomas Points 646

Depuis janvier 2018, le plugin AutoNumeric nécessite une initialisation différente :

$(function() {
    new AutoNumeric('your-selector', yourOptions);
});

Les noms des options ont également changé. Voir github .

0 votes

Votre réponse devrait être marquée comme répondue, Merci !

1voto

ntgCleaner Points 2857

Vous avez seulement jQuery y jQuery-ui chargé. Je ne pense pas que autoNumeric fait partie de l'un ou l'autre de ces paquets.

Vous devriez essayer de télécharger à partir de ICI ou ICI et voir s'il se charge alors.

0 votes

J'ai téléchargé autoNumeric et inclus le fichier js dans mon dossier.

0 votes

Non, c'est ce qui me rend perplexe. Une idée de la raison, un conflit avec un autre plugin ?

0 votes

@user892134 Pourriez-vous mettre à jour votre question avec tous les scripts que vous utilisez ?

1voto

user892134 Points 1088

Ok, j'ai résolu le problème,

Au lieu de mettre des balises comme ceci

$(function() {
    $(".employee_annual_salary").autoNumeric('init');
});

J'ai emballé les étiquettes comme ça :

jQuery( document ).ready(function( $ ) {
    $(".employee_annual_salary").autoNumeric('init');
});

Maintenant la fonction fonctionne.

0 votes

Pour éviter d'écrire du jQuery à chaque fois et rester cohérent avec le symbole $ bien-aimé, vous pouvez encapsuler le code dans un iife, comme ceci : (function($) { $(function() { $('body').append('Yey no more $ troubles here') ; }) ; })(jQuery) ;

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