Kommunauty
Connexion
Inscription

Javascript ?


Florian54 Messages : 5

Bonjour,

Alors, je vous explique brièvement. Pour mon jeu de simulation boursière, j'ai crée une fonction javascript CalculTTC qui devrait avoir pour but de me calculer le prix ttc lors de l'achat d'action.

Sur ma page d'achat, j'ai donc un formulaire où l'utilisateur doit saisir la quantité d'actions qu'il veut acheter. J'aurais souhaité qu'après avoir saisie la quantité, que le prix TTC s'affiche sans rafraichissement de la page. Bref, vous avez suivi l'idée, place au code.

Ma fonction javascript :

function CalculTTC()
{
   var totalht = window&#46;document&#46;quantite&#46;value*<?php echo $prix; ?>;
   if (totalht < 15000)
   {
      frais = 0&#46;0065;
      totalttc = totalht+(totalht*frais)
      totalfrais = totalht*frais;
   }
   else if (totalttc > 15000)
   {
      frais = 0&#46;0050;
      totalttc = totalht+(totalht*frais);
      totalfrais*frais;
   }
   if (totalfrais < 15)
   {
      totalttc = totalht+15;
   }
   return totalttc;
}
</script>

Et maintenant le formulaire d'achat :

<form action="achat2&#46;php" method="post" name="form1">
Quantite &#58; <input type="text" name="quantite" size="3" MAXLENGTH="3" onblur="CalculTTC()">
Prix TTC &#58; ?????
</form>

Le formulaire est rendu sous sa forme la plus simple. Après PrixTTC j'ai essayé de mettre un document.write(CalculTTC()) mais sa ne marche pas...

Bref, pourriez vous m'indiquer comment je dois faire pour que lorsque la quantité est modifiée, que le prix TTC soit modifié aussi ?

Merci

samedi 14 mars 2009

SiMax Messages : 7572

Salut ! Je ne sais pas si j'ai bien compris le principe. Est-ce que c'est ça :

  • Si le prix HT unitaire est supérieur à 15000 => 0.0065 de frais
  • [/*:m:30pcpxyl]

  • Si le prix HT unitaire est inférieur à 15000 => 0.0050 de frais
  • [/*:m:30pcpxyl]

  • Les frais sont au minimum de 15
  • [/*:m:30pcpxyl][/list:u:30pcpxyl]

    C'est surtout au niveau des frais. Ils s'appliquent à l'unité ou pour le total ?

    • Le prix TTC = (prix HT * (prix HT * frais) ) * quantitié
    • [/*:m:30pcpxyl]

    • Ou le prix TTC = (prix HT * quantité ) * (prix HT * frais)
    • [/*:m:30pcpxyl][/list:u:30pcpxyl]

dimanche 15 mars 2009

Florian54 Messages : 5

Tu as bien compris le système de taxe.

Le PrixTTC = PrixHT+(PrixHT*frais)

Ma fonction javascript est bonne ?

C'est bien avec window.document.quantite.value que je peux recuperer la quantité d'action ?

dimanche 15 mars 2009

SiMax Messages : 7572

Alors. Voici le code juste :


<script type="text/javascript">
function CalculTTC(nbr)
{
var nbr = nbr&#46;value;
var prixht = 4*nbr;

if (prixht < 15000)
{
frais = 0&#46;0065;
prixttc = prixht+(prixht*frais);
totalfrais = prixht*frais;
}
else if (prixht > 15000)
{
frais = 0&#46;0050;
prixttc = prixht+(prixht*frais);
totalfrais = prixht*frais;
}

if (totalfrais < 15)
{
prixttc = prixht+15;
}

document&#46;getElementById("prix")&#46;innerHTML = prixttc;
}
</script>

<form action="achat2&#46;php" method="post" name="form1">
Quantite &#58; <input type="text" name="quantite" size="3" MAXLENGTH="3" onkeyup="CalculTTC(this)">
Prix TTC &#58; <span id="prix"></span>
</form>

Regarde le et tu devrais comprendre le fonctionnement seul avec ce que tu sais déjà. Si tu ne comprend pas quelque chose, dis le moi, je t'expliquerai

dimanche 15 mars 2009

Florian54 Messages : 5

Je comprends parfaitement ton code, mais il ne marche pas...

Je pense que sa doit venir de l'événement onkeyup, mais je ne suis pas sur...

Si tu as une idée, je suis prenneur

dimanche 15 mars 2009

SiMax Messages : 7572

Bizarre, moi ça marche... Tu as bien mis le premier code entre les balises HEAD et le deuxième entre les balises BODY ?

Regarde cette page : Code en action

dimanche 15 mars 2009

Florian54 Messages : 5

Alors, en faite j'ai trouvé

Ton code marche parfaitement, mais ta fonction javascript est fausse pour le calcul du prixHT. Une fois que je l'ai modifié, elle ne marche plus... Bref, je te montre la ligne en question :

var prixht = 4*nbr;

En faite, tu multiplie par 4 la quantité, alors qu'il faudrait la multiplier par le prix... J'ai modifié ton "4" par :

<?php echo $prix; ?>

Et ça ne marche plus...

Bref, voici à quoi ressemble ma fonction :

<script type="text/javascript">
function CalculTTC(nbr)
{
var nbr = nbr&#46;value;
var prixht = 4*nbr;

if (prixht < 15000)
{
frais = 0&#46;0065;
prixttc = prixht+(prixht*frais);
totalfrais = prixht*frais;
}
else if (prixht > 15000)
{
frais = 0&#46;0050;
prixttc = prixht+(prixht*frais);
totalfrais = prixht*frais;
}

if (totalfrais < 15)
{
prixttc = prixht+15;
}

document&#46;getElementById("prix")&#46;innerHTML = prixttc;
}
</script>

Le prix de l'action est stocké dans ma variable $prix

dimanche 15 mars 2009

SiMax Messages : 7572

En fait oui j'ai oublié de remettre la variable $prix. C'est parce que je faisais le script en HTML

dimanche 15 mars 2009

Florian54 Messages : 5

Problème réglé

Merci

dimanche 15 mars 2009

SiMax Messages : 7572

De rien

dimanche 15 mars 2009

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !