IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Appel d'une fonction JS d'un fichier JS externe


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Appel d'une fonction JS d'un fichier JS externe
    Bonjour,

    Je suis entrain de réaliser un site internet en utilisant du JavaScript (avec la librairie JQuery).

    En faite, j'ai un fichier html qui me créé un formulaire pour qu'un membre puisse s'inscrire dans lequel j'appelle 2 fichier JavaScript 'commun.js' et 'M_inscription.js'.
    1) 'commun.js' répertorie des fonction dont je vais me servir dans plusieurs page JavaScript.
    2) 'M_inscription.js' permet de vérifier les champs du formulaire d'inscription.

    Appel des deux fichier JavaScript dans mon fichier 'M_inscription.html' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <script type="text/javascript" src="Modules/inscription/M_inscription.js"></script>
    <script type="text/javascript" src="Communs/commun.js"></script>
    Code de la page 'M_inscription.js' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    jQuery(function($) {
    	$('input[name=mail]').keyup(function() {
    		verifier_mail_inscription();
    	});
    });

    Code de la page 'commun.js'
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    jQuery(function($) {
    	/* Fonction permettant de vérifier si l'adresse mail est utilisé ou pas. */
    	function verifier_mail_inscription()
    	{
    		if(mail != '')
    		{
    			if(texte = file('commun::verif_mail()'))
    			{
    				if(texte == 1){
    					writediv('<span style="color:red">Le mail est pris</span>');
     
    					$('#envoyer').attr("disabled", true);
    				}
    				else{
    					if(!VerifMail_inscription())
    						$('#pb_mes').empty().append('');
    					else{
    						writediv('<span style="color:#1A7917">Le mail est libre</span>');
    						$('#envoyer').removeAttr("disabled"); 
    					}
    				}   
    			}
    		}
    	}
    });
    Lorsque je regarde sur FireBug, j'obtiens le message suivant :
    verifier_mail_inscription is not defined
    verifier_mail_inscription();
    Quelqu'un a-t'il une idée de quelle manière je puisse résoudre mon problème ?

    Merci d'avance pour votre aide.

    P.S. : La librairie JQuery est appelé auparavant.

    Cordialement.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Par défaut
    Inclus le script "Communs/commun.js" avant l'autre tout simplement.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut
    Bonjour,

    Même si j'inclue 'commun.js' avant 'M_inscription.js' j'obtiens le même message d'erreur.
    Quelqu'un as-t'il une idée ?

    Cordialement.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Par défaut
    Je n'avais pas fait attention, c'est dans une closure, fais comme cela plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    var verifier_mail_inscription;
     
    jQuery(function($) {
    	/* Fonction permettant de vérifier si l'adresse mail est utilisé ou pas. */
    	verifier_mail_inscription = function ()
    	{
    		if(mail != '')
    		{
    			if(texte = file('commun::verif_mail()'))
    			{
    				if(texte == 1){
    					writediv('<span style="color:red">Le mail est pris</span>');
     
    					$('#envoyer').attr("disabled", true);
    				}
    				else{
    					if(!VerifMail_inscription())
    						$('#pb_mes').empty().append('');
    					else{
    						writediv('<span style="color:#1A7917">Le mail est libre</span>');
    						$('#envoyer').removeAttr("disabled"); 
    					}
    				}   
    			}
    		}
    	};
    });

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    mets des alerts ou console.log en debut de chaque $ ready
    à mon avis y'a un souci de path ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut
    Bonjour tout le monde,

    Merci pour vos réponse.

    J'ai modifié mon JavaScript comme tu me l'a conseillé MrPringle et ça fonctionne, je vais bien dans ma fonction.
    Ci-dessous le code de 'commun.js' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    var verifier_mail_inscription, file;
     
    jQuery(function($) {	
    	/* Fonction permet de lire un fichier */
    	file = function (fichier)
    	{
    		 if(window.XMLHttpRequest) // FIREFOX
    			  xhr_object = new XMLHttpRequest();
    		 else if(window.ActiveXObject) // IE
    			  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    		 else
    			  return(false);
    		 xhr_object.open("GET", fichier, false);
    		 xhr_object.send(null);
    		 if(xhr_object.readyState == 4) return(xhr_object.responseText);
    		 else return(false);
    	}
     
    	/* Fonction permettant de vérifier si l'adresse mail est utilisé ou pas. */
    	verifier_mail_inscription = function (mail)
    	{
    		if(mail != '')
    		{
    			if(texte = file('Communs/commun.php'))
    			{
    				if(texte == 1){
    					writediv('<span style="color:red">Le mail est pris</span>');
     
    					$('#envoyer').attr("disabled", true);
    				}
    				else{
    					if(!VerifMail_inscription())
    						$('#pb_mes').empty().append('');
    					else{
    						writediv('<span style="color:#1A7917">Le mail est libre</span>');
    						$('#envoyer').removeAttr("disabled"); 
    					}
    				}   
    			}
    		}
    	}
    });
    Comme vous pouvez voir, je fais appel à la fonction file avec un fichier 'commun.php'. Ci-dessous la composition de ce dernier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php   
            class commun{
                    public static function verif_mail() {
                            echo "a";
                    }
            
            }
    ?>
    Mais le "echo" ne se fait pas.

    Comment puis-je faire pour appeler la fonction 'verif_mail()' soit dans l'appel de la fonction 'file()' soit d'une autre manière ?

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appel d'une fonction dans un autre fichier jss
    Par Davee dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2008, 20h12
  2. Réponses: 1
    Dernier message: 08/05/2008, 08h51
  3. appel d'une fonction dans un autre fichier
    Par funboard dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2008, 09h26
  4. appel d'une fonction contenu dans un fichier js
    Par geoman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/08/2007, 07h51
  5. Appel d'une fonction pour renommer un fichier
    Par navis84 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/04/2006, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo