Probleme sur formulaire
Résolu
Orkaell
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
Orkaell -
Orkaell -
Bonjour,
J'ai un petit problème sur mon formulaire au niveau des calculs, comment faire pour que si le total de mon formulaire et inferieur a 60 on rajoute 5 au total
mais si le resultat est supérieur a 60 on garde le total de départ.
Je mets ce bout de code car le code intégral est très long.
Je vous remercie par avance :)
J'ai un petit problème sur mon formulaire au niveau des calculs, comment faire pour que si le total de mon formulaire et inferieur a 60 on rajoute 5 au total
mais si le resultat est supérieur a 60 on garde le total de départ.
Je mets ce bout de code car le code intégral est très long.
function total_com() { tot = 0; if (document.acheter2.totsaut.value != "") { tot = tot + parseInt(document.acheter2.totsaut.value); } else { tot = tot;} tot= tot + acompte(); document.acheter2.acompte.value = 30*document.acheter2.nbsaut.value + acompte(); document.acheter2.solde.value = tot-30*document.acheter2.nbsaut.value-acompte(); return tot; }Si quelqu'un pouvait m'aider ça serait vraiment cool :)
Je vous remercie par avance :)
A voir également:
- Que veut dire alias du formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum PHP
- Alias du formulaire - Forum Programmation
66 réponses
salut,
je te propose :
je te propose :
function total(val) { if (Math.parseInt(val) > 60) { return parseInt(val) + 5; } else { return parseInt(val); } }
J'ai incorporé ce bout de code dans mon script mais ça ne marche pas...
Faut-il l'ajouter tout simplement ou bien remplacer certaine fonction ? :-s
Faut-il l'ajouter tout simplement ou bien remplacer certaine fonction ? :-s
non c'est une fonction toute bête qui ne fait qu'ajouter 5 à une valeur si elle dépasse 60.
il faut que tu l'appelles depuis l'endroit du code où tu as besoin de majorer ta valeur.
il faut que tu l'appelles depuis l'endroit du code où tu as besoin de majorer ta valeur.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ça ne fonctionne pas :-/
Il doit y avoir certaine chose qui parasite, ou des termes differents pour le total et val.... ou peut etre que je l'ai mal inseré
Tu as une idée ? ou peux-tu m'en dire plus ?
Il doit y avoir certaine chose qui parasite, ou des termes differents pour le total et val.... ou peut etre que je l'ai mal inseré
Tu as une idée ? ou peux-tu m'en dire plus ?
c'est un formulaire de commande, chaque option a un prix, les prix sont cummulés puis calculés.
Mais si la commande et inferieure a 60€ le client paie des frais de port, donc dans ce cas là il faut rajouter 5€ a la totalité.
mon total et recuperé dans le bout de code que j'ai mis en debut de post je le remets ici
donc je pense que les 5e doivent être rajouté là dedans... Mais je ne sais aps comment faire :-s
Mais si la commande et inferieure a 60€ le client paie des frais de port, donc dans ce cas là il faut rajouter 5€ a la totalité.
mon total et recuperé dans le bout de code que j'ai mis en debut de post je le remets ici
function total_com() { tot = 0; if (document.acheter2.totsaut.value != "") { tot = tot + parseInt(document.acheter2.totsaut.value); } else { tot = tot;} tot= tot + acompte(); document.acheter2.acompte.value = 30*document.acheter2.nbsaut.value + acompte(); document.acheter2.solde.value = tot-30*document.acheter2.nbsaut.value-acompte(); return tot; }
donc je pense que les 5e doivent être rajouté là dedans... Mais je ne sais aps comment faire :-s
Bonsoir, c'est normal, la fonction qu'a proposée Mathieu est correcte, mais ne retourne pas ce qu'il faut: la fonction renvoie +5 si c'est superieur à 60, or si j'ai bien compris c'est le contraire...:
Je la reprends en corrigeant:
function total(val)
{
if (Math.parseInt(val) < 60)
{
return parseInt(val) + 5;
}
else
{
return parseInt(val);
}
}
Et tu dois appeler cette fonction:
tot=total(tot);
Je la reprends en corrigeant:
function total(val)
{
if (Math.parseInt(val) < 60)
{
return parseInt(val) + 5;
}
else
{
return parseInt(val);
}
}
Et tu dois appeler cette fonction:
tot=total(tot);
Oui c'est bien le contraire qu'il faut :)
Mais le problème c'est que je ne sais pas ou et comment l'appeler cette fonction :-s
J'ai mis en place la fonction total(val)
mais comment l'appeler dans mon code ? :-s
je suis désolée mes connaissance en script sont tres limité... j'ai su modifier ce qu'il fallait mais rajouter une fonction, là je suis perdue :-/
Mais le problème c'est que je ne sais pas ou et comment l'appeler cette fonction :-s
J'ai mis en place la fonction total(val)
mais comment l'appeler dans mon code ? :-s
je suis désolée mes connaissance en script sont tres limité... j'ai su modifier ce qu'il fallait mais rajouter une fonction, là je suis perdue :-/
Cette fonction arrondit, je ne sais pas pourquoi, sinon tu as celle la:
function total(val)
{
if (val > 60)
{
return (val + 5);
}
else
{
return val;
}
}
Tu dois insérer cette fonction en haut des autres (du moment qu'elle est avant l'instruction qui l'utilisera), et tu dois insérer "tot=total(tot);" je pense avant return tot; .
function total(val)
{
if (val > 60)
{
return (val + 5);
}
else
{
return val;
}
}
Tu dois insérer cette fonction en haut des autres (du moment qu'elle est avant l'instruction qui l'utilisera), et tu dois insérer "tot=total(tot);" je pense avant return tot; .
regarde ce que t'écris ilan27 !
Et tu dois appeler cette fonction:
tot=total(tot);
donc si tu veux ajouter les frais de port à la fin tu codes :
ou en une seule ligne :
Et tu dois appeler cette fonction:
tot=total(tot);
donc si tu veux ajouter les frais de port à la fin tu codes :
tot=total(tot); return tot;
ou en une seule ligne :
return total(tot);
Oui, j'avais mal compris le vrai sens de ParseInt, il faut en effet le mettre. Mais pour la double instruction, j'ai trouvé ça plus clair pour comprendre le truc, mais après, on peut tout réduire en effet, dans ce cas je pense que ceci marche aussi:
function total(val){
return Math.parseInt(val)>60? Math.parseInt(val): (Math.parseInt(val)+5);
}
function total(val){
return Math.parseInt(val)>60? Math.parseInt(val): (Math.parseInt(val)+5);
}
WOW merci bcp ça fonctionne comme il faut !! :)))
Un grand merci à tout les 2 :)
J'aurais une autre question
dans mon total les centimes ne s'affichent pas... y a une soluce pour palier au problème ?
Un grand merci à tout les 2 :)
J'aurais une autre question
dans mon total les centimes ne s'affichent pas... y a une soluce pour palier au problème ?
A la place de ParseInt...:
function total(val)
{
if (Math.parseDouble(val) < 60)
{
return Math.parseDouble(val) + 5;
}
else
{
return Math.parseDouble(val);
}
}
Ca marche?
function total(val)
{
if (Math.parseDouble(val) < 60)
{
return Math.parseDouble(val) + 5;
}
else
{
return Math.parseDouble(val);
}
}
Ca marche?
J'ai mis ça donc dans mes codes :
Et là la fonction des frais de port fonctionne nikel, en revanche je n'ai pas les centimes qui s'affichent, et si j'essaie ce que m'a donné Ilan ça ne fonctionne plus :-s
function total(val) { if (val < 60) { return (val + 5); } else { return val; } } function total_com() { tot = 0; if (document.acheter2.totsaut.value != "") { tot = tot + parseInt(document.acheter2.totsaut.value); } else { tot = tot;} tot= total(tot) + acompte(); document.acheter2.acompte.value = 30*document.acheter2.nbsaut.value + acompte(); document.acheter2.solde.value = tot-30*document.acheter2.nbsaut.value-acompte(); return tot; }
Et là la fonction des frais de port fonctionne nikel, en revanche je n'ai pas les centimes qui s'affichent, et si j'essaie ce que m'a donné Ilan ça ne fonctionne plus :-s
si cela ne fonctionne pas :
on se contente de tester le type, retourne '0' en cas de saisie incorrecte.
j'ai virer les 'else' (inutiles puisque 'return' est une sortie de fonction).
function total(val) { if (typeof(val) == 'number') { if (val < 60) { return val + 5; } return val; } return 0; } }
on se contente de tester le type, retourne '0' en cas de saisie incorrecte.
j'ai virer les 'else' (inutiles puisque 'return' est une sortie de fonction).
Essaye comme ceci, j'ai rajouté des ".0" pour dire: ce sont des réels, il faut donc afficher quelque chose après la virgule
function total(val)
{
if (val < 60)
{
return (val + 5.0);
}
else
{
return val;
}
}
function total_com()
{
tot = 0.0;
if (document.acheter2.totsaut.value != "") {
tot = tot + parseInt(document.acheter2.totsaut.value);
}
else
{ tot = tot;}
tot= total(tot) + acompte();
document.acheter2.acompte.value = 30*document.acheter2.nbsaut.value + acompte();
document.acheter2.solde.value = tot-30*document.acheter2.nbsaut.value-acompte();
return tot;
}
function total(val)
{
if (val < 60)
{
return (val + 5.0);
}
else
{
return val;
}
}
function total_com()
{
tot = 0.0;
if (document.acheter2.totsaut.value != "") {
tot = tot + parseInt(document.acheter2.totsaut.value);
}
else
{ tot = tot;}
tot= total(tot) + acompte();
document.acheter2.acompte.value = 30*document.acheter2.nbsaut.value + acompte();
document.acheter2.solde.value = tot-30*document.acheter2.nbsaut.value-acompte();
return tot;
}