Calcul en live sur page web, langage ?

Résolu/Fermé
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012 - 15 sept. 2011 à 00:04
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012 - 20 sept. 2011 à 01:14
Bonsoir,

J'ai une nouvelle fois besoin de vos connaissances.

J'aimerais mettre sur une des pages de mon site un petit tableau où mes clients pourraient obtenir une estimation instantanée du montant de leur devis.

Il y aurait en fait une liste déroulante, soit A (trois valeurs, disons A1, A2, A3)
Un champ pour les unités souhaitées, soit B
Et un champ pour le délai de livraison, soit C
Un champ pour le montant total estimé, soit D

J'aimerais en fait que D soit le produit de A1, A2 ou A3 multiplié par B si B n'est pas supérieur à 2500 par unité de C. S'il est supérieur j'aimerais que D soit le produit de A1+0.015, A2+0.015 ou A3+0.015 multiplié par B

Wouaw, j'espère être clair.
J'ai bien sûr fouiné sur google avant de vous poser ma question. Certains parlent de php et d'autres de JS, etc.

Qu'en pensez-vous, quelles fonctions de quel langage me conviendrait le mieux ?

Bonne soirée aux insomniaques qui comme moi bossent sur leurs projets et bonne nuit aux autres.

S
A voir également:

3 réponses

Bonjour,
Je pense que tu peux le faire en javascript, ça évite des aller/retour avec le serveur, par contre comme ton objectif est d'offrir la possibilité de réaliser un devis en ligne, il faudra peut-être songer de donner la possibilité au visiteur d'imprimer le résultat de son devis ou de le sauvegarder dans une base de données.
A toi de voir...
1
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012
15 sept. 2011 à 11:10
Bonjour,

Merci de ta réponse. C'est tout à fait pertinent. J'ai passé la nuit à chercher du coup, le js permet de ne pas recharger la page et un "recalcule" automatique si les champs sont modifiés, j'évite l input submit et le client a une meilleure visibilité de son estimation. Etant donné que le montant calculé est simplement une estimation pour que le client se fasse un ordre d'idées, je lui envoie un devis certifié après demande car besoin de fichiers joints, je vais éviter l'impression et la base de données (mais très bonne remarque pour le futur peut-être si ça roule bien).

J'ai passé la nuit à chercher un tuto simple sur les calculs js avec condition pour du coup mettre en place ce petit système de "calculette" en ligne mais je n'ai rien trouver d'adapté à mon niveau 0 en JS. J'ai donc pris à 0 le tuto du 0 sur le js. J'espère que je m'en sortirai avec ça sans avoir a y passer le mois. La prog c'est très interessant mais n'ai pas les moyens financiers de m y consacrer pour le moment, faut que je travaille !

Je laisse ouvert le thread si d'autres suggestions, conseils, etc. me sont donnés.

Merci !
0
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012
15 sept. 2011 à 11:10
Désolé pour les fautes, ça fait longtemps que je n'ai pas dormi :)
0
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012
15 sept. 2011 à 00:05
Voici un exemple concret du type de tableau que j'aimerais réaliser https://a4traduction.com/Devis-tarifs-de-traduction.html
0
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012
Modifié par oxymore64 le 20/09/2011 à 01:08
Bonsoir,

Quelqu'un aurait-il l'amabilité de me filer un coup de main dans mon code JS, j'avoue être perdu.
J'essaie dans un premier temps une simple multiplication a partir d'un champ texte et d'une liste déroulante avant de me lancer dans une autre condition mais rien que ce simple calcul ne fonctionne pas. Merci !

Voici mon code entre head et head :

<script language="javascript"> 
function calcul(total, nombre, deadline, styletexte) 
{ 
x=document.getElementById(nombre);n=(1*x.value); // le nombre de mots 
x=document.getElementById(styletexte);s=(1*x.value); //le style de texte 
x=document.getElementById(deadline);d=(1*x.value); // le délai 
} 
r=(n*s); // On calcule 
x=document.getElementById(total);x.value=r; // On affecte 
</script>


Et celui dans le body
<div id="quotediv"> 
  <form name="devis" id="devis"> 
  <table width="100%" border="0" cellspacing="5" cellpadding="5"> 
  <tr> 
  
    <td width="30%">Style de texte :</td> 
    <td width="27%"><select name="styletexte"id="styletexte" tabindex="1" onchange="calcul('total', 'nombre', 'deadline', 'styletexte');"> 
      <option selected="selected" value="0">Sélectionner</option> 
      <option  value="0.09">Standard</option> 
      <option  value="0.10">Technique 1</option> 
      <option  value="0.11">Technique 2</option> 
    </select></td> 
    <td width="43%"> </td> 
  </tr> 
  <tr> 
    <td>Nombre de mots :</td> 
    <td><input name="nombre" type="text" id="nombre" tabindex="1" size="10"  value="0" onBlur="calcul('total', 'nombre', 'deadline', 'styletexte')"/></td> 
    <td> </td> 
  </tr> 
  <tr> 
    <td>Délai en jour(s) :</td> 
    <td><input name="deadline" type="text" id="deadline" tabindex="1" size="10" value="0" onBlur="calcul('total', 'nombre', 'deadline', 'styletexte')"/></td> 
    <td> </td> 
  </tr> 
  <tr> 
    <td><div align="left"> 
      <input type="reset" name="retablir" id="retablir" value="Effacer" tabindex="1" /> 
    </div></td> 
    <td>Montant total TTC :</td> 
    <td><input name="total" type="text" id="total" size="15" readonly="true"/></td> 
  </tr> 
</table> 
</form> 
  </div></div>
0
oxymore64 Messages postés 34 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 16 juin 2012
20 sept. 2011 à 01:14
Ok, c'était un problème d'accolades. Je ferme le thread. De très bons tuto en ligne pour le calculs en javascript.
0