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

AJAX Discussion :

[AJAX] Variable SMARTY vers fonction JS


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Par défaut [AJAX] Variable SMARTY vers fonction JS
    Bonjour !

    J'utilise le framework SMARTY, avec du PHP/MYSQL et un peu de JS.
    Je suis entrain de me casser la tête sur la problématique suivante :
    J'appelle un script PHP qui m'affiche au travers d'un TPL ce que je souhaite... Jusque là, tout va bien... Il s'agit d'une facture qui contient des prestations qui peuvent être modifiées tant que la facture n'est pas "gelée", pour être précis. Je voudrais ajouter une fonction (qui fonctionne par ailleurs) qui calcule le total des prestations présentes lors de l'affichage de la facture. La fonction est bien appelée (j'ai ajouté un 'alert()' pour vérifier).
    Mon problème est de récupérer la variable SMARTY, issue d'un tableau créé par SMARTY ({section}) au travers d'un document.getElementByID(id_de_ma_variable) pour la passer à la fonction JS. Et là, ça coince...

    Voici ma fonction 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
    function calcul() 
    { 
    //alert("entrée dans la fonction");
    total = 0;
     
    for(i=1; i<=1000; i++){
    //alert (i);
    var rowInputQte = document.getElementById("qte_"+i);
    var rowInputPU = document.getElementById("puttc_"+i);
     
    if (rowInputQte == null || rowInputPU == null){
    break;
    }
    else{	
    total = total + (rowInputQte.value * rowInputPU.value);
    alert(total);
    }
    }
    document.getElementById('total_presta').innerHTML = total.toFixed(2);
    }

    et voici mon tableau généré par SMARTY (j'écourte le code... volontairement) :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {section loop=$prestaPrestaP name=idx}
    <tr>
    <td><input id="qte_{$prestaPrestaP[idx].id_prestation}" onchange="calcul()" ></td>
    <td><input id="puttc_{$prestaPrestaP[idx].id_prestation}" onchange="calcul()"></td>
    </tr>
    {/section}


    Si vous pouviez m'aider, ce serait super chouette

    Phil

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Salut,

    je ne comprends pas trop ton problème... A quel endroit souhaites-tu récupérer ta variable ? Pour en faire quoi ?
    A priori, ta fonction calcul() fonctionne, non ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Par défaut Précisions...
    Ben, en fait, mon problème est le suivant : il s'agit de recalculer en live les montants des prestations affichées, celles ajoutées et retirer celles qui sont supprimées.
    Or, je pense que les ID composés par une variables SMARTY (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "qte_{$prestaPrestaP[idx].id_prestation}"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "puttc_{$prestaPrestaP[idx].id_prestation}"
    ) sur lesquelles la fonction calcul() doit se baser ne sont pas passées à celle-ci correctement (l'index id_prestation). Donc la fonction est bien appelée, mais elle ne donne rien en terme de résultat.

    Au final, mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="total_presta">0</div>
    n'affiche que "0", malgré les montants présents, ceux ajoutés ou ceux supprimés.

    Est-ce plus clair ?


    Merci de t'intéresser à mon pb....

Discussions similaires

  1. Variable php vers fonction JavaScript
    Par s.rais dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/12/2012, 19h10
  2. Envoyer la valeur d'une variable de ma fonction JS vers un fichier PHP
    Par wperes dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/10/2008, 21h07
  3. [PHP-JS] variable javascript vers fonction php
    Par peplum37 dans le forum Langage
    Réponses: 1
    Dernier message: 21/07/2008, 20h46
  4. [AJAX] variable de fonction dans une boucle
    Par Hurin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/06/2008, 09h51
  5. [AJAX] [DWR] sérialiser une fonction vers javascript
    Par archeboc dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/03/2008, 02h58

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