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

JavaScript Discussion :

Utiliser le résultat d'un fichier php dans fonction javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Points : 115
    Points
    115
    Par défaut Utiliser le résultat d'un fichier php dans fonction javascript
    Bonjour à tous,

    Voici mon problème, il s'agit de validation de formulaire:

    Suite à un événement: onKeyUp, qui appel ma fonction javascript (jusque là tout va bien). Je dois "ouvrir" un fichier php contenant ma fonction de vérification. Elle me retourne une data et je la met dans un span. Voilà sur le principe. Tout ceci fonctionnait très bien, mais là. Pas moyen de trouver pourquoi j'ai l'erreur suivant: file is not defined.

    Si quelqu'un pouvait m'éclairer.

    Formulaire en php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		echo '			<td>Mail (Identifiant)</td><td><input type="text" name="mail_contact" id="mail_contact" onKeyUp="checkChampFormulaire(this.value,\'mail_message\',\'mail\');" /><span id="mail_message"></span></td>';
    Fonction javascript:

    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
     
    //***writediv(texte,id)
    function writediv(texte,id)
    {
    	document.getElementById(id).innerHTML = texte;
    }
     
    //***checkChampFormulaire(valeur,champ,id_zone,type_zone)
    function checkChampFormulaire(valeur,id_zone,type_zone)
    {
    	//alert(valeur+','+id_zone+','+type_zone);
     
    	if(id_zone != '' && type_zone != '' )
    	{
    		texte = file('/includes/function_formulaire.php');
    		writediv(texte,'mail_message');
    	}
    }
    Dans le fichier function_formulaire.php appeler, il y a un simple echo 'Formulaire.php'.
    Et mon formulaire est générer via une fonction.

    Si ça peut aider voici l'arborescence:
    * index.php
    */js/monfichier.js
    */includes/function_formulaire.php
    */class/generateur_formulaire.php

    Merci pour votre aide, en espérant ne pas vous avoir perdu.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Points : 209
    Points
    209
    Par défaut
    Bonjour,

    Je ne connais pas de fonctions javascript "file(...)" ? N'y a t-il pas confusion entre php et javascript ?

    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Points : 115
    Points
    115
    Par défaut
    Il n'y a pas de confusion ( en tout cas pour moi). Le code fonctionnait impeccablement, il y a peu.

    Mais bon, si vous avez une solution qui fait la même chose (on reste dans le même principe bien sur), ça me va aussi.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Points : 209
    Points
    209
    Par défaut
    Ben l'erreur remontée "file is not defined" indique que javascript ne connait pas d' "élément" (variable, fonctions...etc) dont le nom est file.

    La fonction file par contre existe bel et bien en php !

    Tu dois donc indiquer qu'il s'agit de code php :

    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
     
    //***writediv(texte,id)
    function writediv(texte,id)
    {
    	document.getElementById(id).innerHTML = texte;
    }
     
    //***checkChampFormulaire(valeur,champ,id_zone,type_zone)
    function checkChampFormulaire(valeur,id_zone,type_zone)
    {
    	//alert(valeur+','+id_zone+','+type_zone);
    	
    	if(id_zone != '' && type_zone != '' )
    	{
    		texte = <?php file('/includes/function_formulaire.php'); ?>
    		writediv(texte,'mail_message');
    	}
    }
    Mais ça ne va pas marcher non plus, tu dois faire un echo et file te renvoie un tableau, si tu veux afficher le contenu, il serait judicieux de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo implode("<BR/>",file('/includes/function_formulaire.php')); ?>
    De plus, tu dois entourer ce que te retourne le code php par des quotes pour dire à javascript qu'il s'agit d'une chaine de caractère... Attention à ne pas oublier d'échapper les quotes contenus dans le fichier à lire (avec par exemple la fonction php htmlentities) !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte = "<?php echo htmlentities(implode("<BR/>",file('/includes/function_formulaire.php')),ENT_QUOTES); ?>";

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Points : 115
    Points
    115
    Par défaut
    Je reste perplexe quand même car cette fonction marche nickel. Elle est dans l'ancienne version du code (celle de hier).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function connexion()
    {
    	sidebar = file('includes/sidebar.php')
    	writediv(sidebar,'sidebar_text');
     
    	txt = file('includes/connexion.php?connexion=connexion')
    	writediv(txt,'cadre_connexion');
     
    }
    Je vais tester ce que tu m'as dit. Mais j'aimerais bien comprendre le pourquoi du comment. Si quelqu'un a une idée.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Points : 209
    Points
    209
    Par défaut
    Ben si tu dis qu'elle marchait avec ce code, tu as peut-être défini une fonction file(...) en javascript ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Points : 115
    Points
    115
    Par défaut
    Ah ah. Pas bête comme remarque.

    Reprenant le code d'un collègue, je ne sais pas tout ce qu'il a fait.

    je cherche et je vous dit.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Points : 115
    Points
    115
    Par défaut
    Merci à toi BaBeuH.

    C'était bien ça le probleme. Quand on a le nez dans le code!!!

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    tu crées un formulaire avec innerHTML?
    ça pose souvent des problèmes.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Points : 115
    Points
    115
    Par défaut
    Ben là, ça en pose plus. Donc voilà. Du fait que c'était juste la fonction file qui manquait.

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

Discussions similaires

  1. Passage d'un String PHP dans fonction javascript et quotes
    Par roukgreg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/05/2013, 14h48
  2. Réponses: 4
    Dernier message: 30/04/2012, 22h22
  3. php dans fonction javascript
    Par gunsailor dans le forum Langage
    Réponses: 9
    Dernier message: 07/09/2010, 11h21
  4. Insertion variable PHP dans fonction javascript
    Par hisin dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/06/2010, 16h58
  5. array php dans fonction javascript?
    Par vidzo dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 29/09/2009, 09h29

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