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 :

Passage de valeurs php dans une fonction JS


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 41
    Par défaut Passage de valeurs php dans une fonction JS
    Bonjour,

    Voilà j'ai un formulaire, il y a un champ en particulier appelé "Fonction" lequel nous ouvre une fenêtre pop-up qui nous listera les fonctions disponible.

    On a 2 fichiers utilisés, je vais mettre les parties de code concernés.

    formulaire.php :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
        <td>
            <label for='add_fonction_agent'>Fonction</label>
        </td>
        <td>
            <input type='text' id='add_fonction_agent' name='add_fonction_agent' readonly="readonly" /><input type='button' value="Liste"  onClick='function_list()'/>  
        </td>
    </tr>

    Function_list est une fonction JS qui va lister toutes les fonctions disponibles dans une fenêtre pop-up, qui est fonctionnelle.

    liste_fonction.php (fichier qui s'occupe d'afficher toutes les fonctions)

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function SendToAgent(id,value)
    {
    	var subId = id;
    	var subValue = value;
     
    	alert(subId);
    	alert (subValue);
    	window.opener.document.forms['ajout'].elements['add_fonction_agent'].value = subId;
     
     }

    Toujours dans le même fichier :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while($row= mysql_fetch_assoc($sql))
    {
    	echo '<tr>';
    	echo '<td>'.$row['Id_fonction'].'</td>';
    	echo '<td>'.$row['Lib_fonction'].'</td>';
    	echo '<td><input type = "button" value="Select" onclick="SendToAgent('.$row['Id_fonction'].','.$row['Lib_fonction'].')" /></td>';
    	echo '</tr>';

    A savoir que j'utilise une base de données, j'ai crée une 3ème cellule qui comporte un bouton qui lorsqu'on clique dessus on appelle la fonction JS et prendre en paramètre l'ID et le libellé de la fonction correspondante au bouton sur lequel on a cliqué.
    Mon problème est lorsque je clique sur le bouton je vois que les paramètres sont passés dans firebug. Mais j'obtiens cette erreur :

    ReferenceError : OUVRIER is not defined
    SendToAgent(9, OUVRIER)
    (9 étant un exemple d'ID et OUVRIER le libellé de la fonction)

    ou lorsque mon libellé comporte un espace :

    SyntaxError:missing ) after argument list
    Alors que mes parenthèses sont bien toutes fermé.
    A savoir que lorsque je ne fais que passer l'ID, ce dernier est envoyé sans problème. Par contre lorsque j'ai essayé avec le libellé seul j’obtiens la même erreur.
    Le but est d'obtenir l'ID et le libellé dans ma fonction JS.


    Merci d'avance et bonne journée.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    mets des quotes autour de tes chaines de caractètes!

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><input type = "button" value="Select" onclick="SendToAgent('.$row['Id_fonction'].',\"'.$row['Lib_fonction'].'\")" /></td>';

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    regarde le code HTML généré, cela est souvent très intéressant pour trouver l'erreur

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var subId = id;
    var subValue = value;
    Quelle peut bien être l'utilité d'utiliser de nouvelles variables pour stocker les paramètres passés à la fonction ???
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 41
    Par défaut
    Bonjour,

    Merci de prendre la peine de m'aider malgré la question bête
    Ensuite pour répondre à chacun de vos messages :

    Citation Envoyé par Matthieu2000
    mets des quotes autour de tes chaines de caractètes!

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><input type = "button" value="Select" onclick="SendToAgent('.$row['Id_fonction'].',\"'.$row['Lib_fonction'].'\")" /></td>';
    J'ai bien fais comme tu as dit, mais firebug qualifie l'anti-slash comme caractère illégal . Pourtant ça a l'air bête mais pas moyen de trouver le souci

    Citation Envoyé par NoSmoking
    Bonjour,
    regarde le code HTML généré, cela est souvent très intéressant pour trouver l'erreur
    Oui merci du conseil

    voilà ce que Firebug m'affiche comme erreur :

    SyntaxError: illegal character

    SendToAgent(9,\
    Si je fais comme ça par contre :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><input type = "button" value="Select" onclick="SendToAgent('.$row['Id_fonction'].','.$row['Lib_fonction'].'")" /></td>';


    J'ai une erreur différente que soit une valeur avec ou sans espaces :

    SyntaxError: missing ) after argument list
    SendToAgent(9,OUVRIER
    Citation Envoyé par Bovino
    var subId = id;
    var subValue = value;

    Quelle peut bien être l'utilité d'utiliser de nouvelles variables pour stocker les paramètres passés à la fonction ???
    Que dire.. j'ai appris comme ça histoire de m'y retrouver

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 41
    Par défaut
    Bonjour,

    Erreur de débutant, fallait tout simplement fermer la fonction appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<td><input type = "button" value="Select" onclick="SendToAgent('.$row['Id_fonction'].',\''.$row['Lib_fonction'].'\');" /></td>';
    Encore merci et bonne journée.

  7. #7
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Voila entre autre pourquoi il n'est pas bon de tout mélanger

    j'expliquais ici comment se passer de généré du js à partir de php dans un page html (ou ça fait beaucoup de mélange tout ça)

    A+JYT

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

Discussions similaires

  1. Passage d'argument JS dans une fonction PHP
    Par marcootz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/06/2015, 17h26
  2. Passage d'un tableau php dans une fonction javascript
    Par mcdelay dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/09/2013, 17h25
  3. [PHP-JS] Passage de variable PHP dans une fonction JS
    Par redvivi dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2008, 13h07
  4. Réponses: 4
    Dernier message: 05/10/2005, 18h19
  5. [PHP-JS] pb lecture script php dans une fonction au démarrage
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 15h07

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