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 :

Transférer un tableau PHP en paramètre à une fonction javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut Transférer un tableau PHP en paramètre à une fonction javascript
    Bonjour,
    après plusieurs heures bloqué sur le même problème, je me décide à poster un message dans le forum
    ce sujet a déjà été traité maintes fois et j'ai déjà trouvé des exemples, mais j'ai toujours à chaque fois des erreurs dans mon cas

    dans un script PHP j'ai un tableau avec des numéros de fournisseurs ($tab_supplier)

    je génère mon code HTML via un print et je souhaite passer ce tableau PHP à une fonction Javascript comme suit :
    j'ai vu qu'une méthode consistait à transformer le tableau en une chaine et j'ai utilisé comme séparateur ici : /

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab_split = implode("/",$tab_supplier);
    voici le détail du bouton html qui va déclencher ma fonction javascript lorsque je clique dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" title="" value="Editer les demandes de prix" onClick="editDP('. $tab_split .')">
    et enfin voici la fonction javascript qui est censé récupérer cette chaine et la retransformer dans un tableau javascript exploitable par ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Fonction d'édition des demandes de prix
    function editDP(tab_supplier)
      {    
                var tab = tab_supplier.split("/");
    	   for (var i = 0, c = tab.length; i < c; i++) {
    	   alert(tab[i]);}
     }

    voici ce que me donne la console pour le bouton HTML (par exemple ici j'avais quatre éléments dans mon tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" title="Edition des demandes de prix" value="Editer les demandes de prix" onclick="editDP(4664/8423/5406/8536)">
    sur la console javascript j'ai l'erreur suivante :
    Uncaught TypeError: tab_supplier.split is not a function
    at editDP (script.js:32)
    at HTMLInputElement.onclick (show_dp.php:188)


    j'ai essayé plein de combinaisons, mais je ne m'en sors pas ...

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Avec des apostrophes ça fonctionne.

    onclick="editDP('4664/8423/5406/8536')" au lieu de onclick="editDP(4664/8423/5406/8536)">

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut
    bonjour,
    oui merci je pense que c'est ça mais j'ai déjà essayé de les mettre de différentes façons et ça ne fonctionne pas

    comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="editDP('.'"'.$tab_split.'"'.')"
    j'ai une erreur : Uncaught SyntaxError: Unexpected token }

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Ton code php m'étonne. Je ne vois pas le print.

    Peux-tu poster la partie qui le précède et le suit ?

    Pour ma part, j'utilise souvent la structure suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onClick="editDP('<?php print $tab_split;?>')"

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut
    en fait j'ai mis le détail de mon html dans une variable php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $formular_add_supplier ='<form name="selectall" method="post" enctype="multipart/form-data"><input type="button" title="Edition des demandes de prix" value="Editer les demandes de prix" onClick="editDP("$tab_split")"></form>';
    et ensuite j'utilise mon print pour l'afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print $formular_add_supplier;
    j'avais déjà essayé cette formule avec le echo mais elle semble inopérante car le echo doit être interprétée comme un texte

    je vais réessayer quand même

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut
    Avec cette syntaxe ci-dessous mon script PHP ne fonctionne plus ... il y a sans doute une astuce ou une histoire de guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="editDP('<?php print $tab_split;?>')"

  7. #7
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Essaie comme ça.

    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
     
    <?php
     $tab_split = "4581/1214/4581";
     // avant
     $formular_add_supplier ='<form name="selectall" method="post" enctype="multipart/form-data"><input type="button" title="Edition des demandes de prix" value="Editer les demandes de prix" onClick="editDP("$tab_split")"></form>';
     print $formular_add_supplier;
     ?>
     
     
     <br/>
     
     
     <?php
     $tab_split = "4581/1214/4581";
     // après
     $formular_add_supplier ='<form name="selectall" method="post" enctype="multipart/form-data"><input type="button" title="Edition des demandes de prix" value="Editer les demandes de prix" onClick="editDP(\''.$tab_split.'\')"></form>';
     print $formular_add_supplier;
     ?>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    avant :
    <form name="selectall" method="post" enctype="multipart/form-data"><input type="button" title="Edition des demandes de prix" value="Editer les demandes de prix" onClick="editDP("$tab_split")"></form>
     
    après :
    <form name="selectall" method="post" enctype="multipart/form-data"><input type="button" title="Edition des demandes de prix" value="Editer les demandes de prix" onClick="editDP('4581/1214/4581')"></form>

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/05/2013, 14h52
  2. passer les paramètres à une fonction javascript
    Par phenix1988 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/01/2012, 23h19
  3. Réponses: 1
    Dernier message: 25/10/2007, 21h25
  4. Réponses: 3
    Dernier message: 10/08/2007, 16h07
  5. [PHP-JS] appeler une fonction javascript dans un lien
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2007, 10h43

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