Simples calculs javascript

Résolu
oxymore64 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
 simon -
Bonsoir,


Je (novice en js) tente de mettre en ligne sur mon site un simple formulaire de calculs pour que mes clients puissent obtenir une estimation immédiate de leur devis.

J'ai tant bien que mal réussi la première partie de calcul, pas facile lorsque l'on débute mais je bute sur une "condition", j'espère utiliser le bon terme.

En fait je souhaiterais que r soit égal à (n*s) si (n/d) <= à 2500, mais si (n/d) > 2500 alors r= (n*(s+0.015)).

Je vous mets ou j'en suis dans le script, si vous pouviez m'aiguiller pour réaliser ce calcul je vous en serais reconnaissant car mes recherches sur la toile sont jusque là infructueuses.
J'imagine que je dois définir une variable r: condition 1 || condition 2 et puis ensuite partir sur if else, mais je n ai aucune idée de comment et ou l ecrire.

Merci

<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); // le calcul
x=document.getElementById(total);x.value=r; // L'affectation
}
</script>





1 réponse

Utilisateur anonyme
 
<script type="text/javascript">
function calcul(total, nombre, deadline, styletexte)
{
x=document.getElementById(nombre).value;
x = parseInt(x);
n=(1*x);

x=document.getElementById(styletexte).value;
x = parseInt(x);
s=(1*x);

x=document.getElementById(deadline).value;
x = parseInt(x);
d=(1*x);

r = '';

if (n / d <= 2500) { r = n * s; }

else { r = (n*(s+0.015)); }

x=document.getElementById(total);x.value=r; // L'affectation
}
</script>

http://www.gmoreau.user.fr
4
Utilisateur anonyme
 
d'ailleurs je comprend pas les 1*x ??
0
oxymore64 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Merci tu me sauves. Je galère vraiment en js, va vraiment falloir que je prenne le temps de m'y mettre.
Les 1*x, je me suis cassé la tête à essayer de comprendre aussi, je sors ça d'un tuto en ligne. Je n'en ai aucune idée.
Si je prends le code tel que tu me l'a donné, les calculs ne se font plus. Étrange.
Par contre, en suivant l'écriture de ta condition avec mon premier bout de code ça fonctionne parfaitement.
<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 = ''; 
if (n / d <= 2500) { r = n * s; } 
else { r = (n*(s+0.015)); } 
x=document.getElementById(total);x.value=r; // On affecte
}
</script>
0
Utilisateur anonyme
 
Je suis pas a l'aise aussi avec le JavaScript, mais si sa fonctionne temps mieu :)
0
oxymore64 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Un grand merci tout de même, je vais enfin pouvoir passer à autre chose pour finir mon site.
0
oxymore64 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Et juste pour info après avoir demandé à quelqu'un : "1*x." sert à convertir la valeur des champs (chaîne de caractères) en entiers.
0