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 :

fonction javascript et région répétée


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut fonction javascript et région répétée
    Bonjour à tous,

    PHP/MySql - Dreamweaver - Javascript
    j'ai un souci avec une fonction javascript qui fonctionne parfaitement bien quand le résultat de ma requête est une seule ligne de produit, mais lorsque il y en a plusieurs, plus aucun résultat !

    j'utilise Dreamweaver et les régions répétées, j'ai donc un tableau avec un formulaire "ChoixArticle" qui affiche

    la ref du produit
    la hauteur
    la largeur
    la couleur (liste déroulante de choix)
    le prix
    la quantité
    le total de la ligne
    et un bouton ACHETER en fin de ligne

    Je ne sais pas trop quoi rajouter dans ma fonction javascript pour lui indiquer qu'elle doit s'exécuter sur toutes les lignes générées

    voici la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function calcul(ind)
    {ChoixArticle.res.value=Number(ChoixArticle.pri.value)*Number(ChoixArticle.qte.value);
    total.value=0;
    }
    </script>
    d'autre part, je voudrais que mon total se présente toujours avec 2 décimales, car suivant certaine quantité j'ai des décimales sur 10 positions !

    Bref, je suis un peu pômée pour tout avouer sur ce coup là !!!
    Dur dur de développer....
    d'avance merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    est-ce que lorsque tu "répètes" tes zones, tu conserves le même name pour les nouveaux éléments ?

    A+

  3. #3
    Membre confirmé
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut région répétée et noms des éléments
    En fait, si je comprends ta question, c'est de savoir si dans les régions répétées, le nom des éléments est toujours le même, et bien oui d'après moi puisque je les nomme qu'une fois, laissant la "répétition" faire le reste
    voici le code de cette zone pour plus de clarté :
    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
    <?php do { ?>
                <tr>
                  <td><?php echo $row_articles['isbn']; ?></td>
                  <td><?php echo $row_articles['designation']; ?></td>
                  <td><?php echo $row_articles['longueur']; ?></td>
                  <td><?php echo $row_articles['largeur']; ?></td>
                  <td><select name="couleur" id="couleur">
                      <option>blanc</option>
                      <option>noir</option>
                      <option>bleu</option>
                      <option>rouge</option>
                                    </select>                            </td>
                  <td><input type="text" name="pri"readonly value="<?php echo $row_articles['prix_ttc']; ?>" /></td>
                  <td><input type="text" name="qte" onblur="calcul();" /></td>
                  <td><input name="client" type="hidden" id="client" value="<?php echo $_SESSION['MM_Username'];?>" />
                  <input name="article" type="hidden" id="article" value="<?php echo $row_articles['id'];?>" />
                  <input name="quantite" type="hidden" id="quantite" value="1" />
                  <input name="ACHETER" type="submit" id="ACHETER" value="ACHETER" /></td>
                </tr>
                <?php } while ($row_articles = mysql_fetch_assoc($articles)); ?>
    est-ce bien cela que tu souhaites visualiser ?
    est-ce plus clair

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par fidecourt Voir le message
    est-ce plus clair
    Oui
    Dans ce cas, il faut utiliser ton paramètre "ind" (et utiliser une syntaxe valide)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function calcul(ind)
    {document.forms['ChoixArticle'].elements['res'][ind].value=Number(document.forms['ChoixArticle'].elements['pri'][ind].value)*Number(document.forms['ChoixArticle'].elements['qte'][ind].value);
    document.forms['ChoixArticle'].element['total'].value=0; // Je suppose qu'il n'y a qu'un seul total ...
    }
    A+

  5. #5
    Membre confirmé
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut syntaxe
    si j'ai bien compris, voici la syntaxe a appliquer :
    LA FONCTION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function calcul(ind)
    {document.forms['ChoixArticle'].elements['res'][ind].value=Number(document.forms['ChoixArticle'].elements['pri'][ind].value)*Number(document.forms['ChoixArticle'].elements['qte'][ind].value);
    document.forms['ChoixArticle'].element['total'].value=0; }</script>
    LE CODE DE LA REGION REPETEE :

    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
     <?php do { ?>
                <tr>
                  <td><?php echo $row_articles['isbn']; ?></td>
                  <td><?php echo $row_articles['designation']; ?></td>
                  <td><?php echo $row_articles['longueur']; ?></td>
                  <td><?php echo $row_articles['largeur']; ?></td>
                  <td><select name="couleur" id="couleur">
                      <option>blanc</option>
                      <option>noir</option>
                      <option>bleu</option>
                      <option>rouge</option>
                                    </select>                            </td>
                  <td><input type="text" name="['pri'][ind]"readonly value="<?php echo $row_articles['prix_ttc']; ?>" /></td>
                  <td><input type="text" name="['qte'][ind]" onblur="calcul();" /></td>
    			  <td><input type="text" name="['res'][ind]" readonly value=""></td>
                  <td>&nbsp;</td>
                </tr>
                <?php } while ($row_articles = mysql_fetch_assoc($articles)); ?>
            </table>
    ======
    Ai-je bien syntaxé ?
    car je n'ai plus de calcul du tout maintenant, donc je dois faire une erreur quelque part mais où ?

    EN EFFET IL Y A UN SEUL TOTAL PAR LIGNE ET PAS DE TOTAL GENERAL

    merci de tes lumières !

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par fidecourt Voir le message
    Ai-je bien syntaxé ?
    car je n'ai plus de calcul du tout maintenant, donc je dois faire une erreur quelque part mais où ?
    Non !
    C'était en gardant les mêmes name.

    Mais j em'aperçois que tu ne pourras pas déterminer le "ind" pour le passer en paramètre ...
    Sauf si quelqu'un à la soluce ....

    Mais en fait il vaudrait mieux passer par des ID, en générant dans ta boucle un compteur PHP. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="pri" readonly="readonly" id="pri_<?php echo $ton_compteur; ?>" value="<?php echo $row_articles['prix_ttc']; ?>" /></td>
    Remarque : je pratique pas PHP : à toi de gérer le compteur

    A+

Discussions similaires

  1. Appel de fonction javascript
    Par lepierre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/11/2004, 14h28
  2. Réponses: 5
    Dernier message: 13/08/2004, 15h40
  3. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  4. Réponses: 11
    Dernier message: 10/05/2004, 10h49
  5. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24

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