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 :

Calcul HT et TTC (affichage)


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut Calcul HT et TTC (affichage)
    Bonjour

    Quand je passe mon curseur sur mes lignes, je dois voir une information sur le prix TTC du produit.
    Firefox me génère une erreur et je ne sais pas comment la résoudre.
    Le prix au survol affiché est toujours HT.


    Un arbre non équilibré a été écrit en utilisant « document.write() » provoquant une nouvelle analyse de données provenant du réseau. Pour plus d’informations, consultez https://developer.mozilla.org/en/Opt...lative_Parsing

    Voici les éléments en relation .

    Merci.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <!-- Debut surlignage //-->
    <script language="javascript">
    <!--
    var browser_family;
    var up = 1;
     
    if (document.all && !document.getElementById)
      browser_family = "dom2";
    else if (document.layers)
      browser_family = "ns4";
    else if (document.getElementById)
      browser_family = "dom2";
    else
      browser_family = "other";
     
    function display_ttc(action, prix, taxe, up){ <!-- Script pour afficher le prix de vente TTC  //-->
      if(action == 'display'){
        if(up != 1)
          valeur = Math.round((prix + (taxe / 100) * prix) * 100) / 100;
      }else{
        if(action == 'keyup'){
          valeur = Math.round((parseFloat(prix) + (taxe / 100) * parseFloat(prix)) * 100) / 100;
        }else{
          valeur = '0';
        }
      }
      switch (browser_family){
        case 'dom2':
          document.getElementById('descDiv').innerHTML = '<font color="#ff0000"><?php echo TOTAL_COST; ?> :</font><font color="#0000ff">  '+valeur+'&nbsp;&euro;</font>';
        break;
        case 'ie4':
          document.all.descDiv.innerHTML = '<font color="#ff0000"><?php echo TOTAL_COST; ?> :</font><font color="#0000ff">  '+valeur+'&nbsp;&euro;</font>';
        break;
        case 'ns4':
          document.descDiv.document.descDiv_sub.document.write(valeur);
          document.descDiv.document.descDiv_sub.document.close();
        break;
        case 'other':
        break;
      }
    }
     
    -->
    </script>
    and

    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
    21
    22
    23
    switch (browser_family) {
      case 'dom2':
      case 'ie4':
        document.write("<div id='descDiv'>");
        break;
      default:
        document.write("<ilayer id='descDiv'><layer id='descDiv_sub'>");
        break;
    }
    --></script>
                </span>
              <span>
    <script language="javascript"><!--
      switch (browser_family) {
        case 'dom2':
        case 'ie4':
          document.write("<div id='descDiv2'>");
          break;
        default:
          document.write("<ilayer id='descDiv2'><layer id='descDiv_sub2'>");
          break;
      }
    --></script>

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    Merci, le lien donne l'explication mais pas de solution. Le javascript n'est pas du tout mon domaine.

  4. #4
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 715
    Points : 1 600
    Points
    1 600
    Par défaut
    jour

    le code est vieux il peut etre réduit comme ca


    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
    var up = 1;
     
     
    function display_ttc(action, prix, taxe, up){ <!-- Script pour afficher le prix de vente TTC  //-->
     
      if(action == 'display'){
        if(up != 1)
          valeur = Math.round((prix + (taxe / 100) * prix) * 100) / 100;
      }
     
      else{
        if(action == 'keyup'){
          valeur = Math.round((parseFloat(prix) + (taxe / 100) * parseFloat(prix)) * 100) / 100;
        }else{
          valeur = '0';
        }
      }
          document.getElementById('descDiv').innerHTML = '<font color="#ff0000"><?php echo TOTAL_COST; ?> :</font><font color="#0000ff">  '+valeur+'&nbsp;&euro;</font>';
    }
    pareille pour le reste le teste de navigateur ne sert a rien il y a une quinzaine il aurait servit mais la j'en voit pas l'utilité il suffit de conserver juste la partie qui utilise document.getElementById.

    quand a l'erreur c'est pas evident car on ne sait pas comment est appelé la fonction
    Plus vite encore plus vite toujours plus vite.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    Merci je vais regarder, je te reviens.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    [QUOTE=melka one;8717034]jour

    pour info:

    voici la ligne

    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
    21
    22
    23
    / display infos per row
        if ($flag_spec) { // true/ false
          echo '<tr onmouseover="';
          if (DISPLAY_MAJR_TVA_OVER == 'true') {
            echo 'display_ttc(\'display\', ' . $price . ', ' . $tax_rate['tax_rate'] . ');';
          }
          echo 'this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="';
     
          if (DISPLAY_MAJR_TVA_OVER == 'true') {
            echo 'display_ttc(\'delete\');';
          }
          echo 'this.className=\'dataTableRow\'">';
        } else {
          echo '<tr onmouseover="';
          if (DISPLAY_MAJR_TVA_OVER == 'true') {
            echo 'display_ttc(\'display\', ' . $products['products_price'] . ', ' . $tax_rate['tax_rate'] . ');';
          }
          echo 'this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="';
          if (DISPLAY_MAJR_TVA_OVER == 'true') {
            echo 'display_ttc(\'delete\', \'\', \'\', 0);';
          }
          echo 'this.className=\'dataTableRow\'">';
        }

Discussions similaires

  1. Calcul total HT, TTC et TVA
    Par tunisiano44 dans le forum Symfony
    Réponses: 6
    Dernier message: 17/05/2016, 23h22
  2. Fonction de calcul de prix TTC
    Par Shiva dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 22/08/2007, 19h11
  3. [MySQL] Affichage d'un résultat calculé à partir d'une bd
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/01/2006, 16h40
  4. Réponses: 1
    Dernier message: 10/01/2006, 20h35
  5. Conserver l'affichage pendant les calculs ?
    Par ceugniet dans le forum C++Builder
    Réponses: 5
    Dernier message: 31/03/2004, 12h19

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