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
je crois que j'm'ai trompé !
je n'ai jamais utilisé cette fonction...
je n'ai jamais utilisé cette fonction...
function total(val) { if ((typeof val) == 'number') { if (val < 60) { return val + 5; } return val; } return 0; } }
et pour forcer la valeur de retour en type Double ça doit être 'parseDouble()'.
function total(val)
{
if ((typeof val) == 'number')
{
if (val < 60)
{
ret = val + 5;
}
ret = val;
}
ret = 0;
}
return parseDouble(ret);
}
function total(val)
{
if ((typeof val) == 'number')
{
if (val < 60)
{
ret = val + 5;
}
ret = val;
}
ret = 0;
}
return parseDouble(ret);
}
Essaye comme ceci: (et les autres fonctions sont de quel ordre? tu es sûre qu'elles tournent bien?)
function total(val)
{
if (val < 60.0)
{
return parseDouble(val + 5.0);
}
else
{
return parseDouble(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.0)
{
return parseDouble(val + 5.0);
}
else
{
return parseDouble(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;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut,
en fait 'parseDouble()' n'est pas une fonction JS, il faut utiliser 'parseFloat()'.
voici une version qui fonctionne, j'ai adapté un peu.
et voila le Javascript.
par contre tu ne testes pas la valeur d'entrée donc si tu saisies des lettres à la place de la valeur : ça plante !
en fait 'parseDouble()' n'est pas une fonction JS, il faut utiliser 'parseFloat()'.
voici une version qui fonctionne, j'ai adapté un peu.
et voila le Javascript.
par contre tu ne testes pas la valeur d'entrée donc si tu saisies des lettres à la place de la valeur : ça plante !
oui désolé je faisais des modifs et j'ai mis en ligne une version qui ne fonctionnait pas !
tu peux essayer à nouveau, c'est corrigé !
tu peux essayer à nouveau, c'est corrigé !
il faut adapter !!!
je ne sais pas comment tu as organisé ton code !
il faut que tu remplaces 'parseInt' par 'parseDouble' et pour attribuer des valeurs il faut utiliser 'document.getElementById()'.
je ne sais pas comment tu as organisé ton code !
il faut que tu remplaces 'parseInt' par 'parseDouble' et pour attribuer des valeurs il faut utiliser 'document.getElementById()'.
J'ai fait ça :
function total(val) { if (val < 60.0) { return parseFloat(val + 5.0); } else { return parseFloat(val); } } function total_com() { tot = 0.0; if (document.getElementById('totsaut').value != "") { tot = tot + parseFloat(document.getElementById('totsaut').value); } else { tot = tot; } tot= total(tot) + acompte(); document.getElementById('acompte').value = 30*document.getElementById('nbsaut').value + acompte(); document.getElementById('solde').value = tot-30*document.getElementById('nbsaut').value - acompte(); return tot
mais dans ton code à toi il y avait bien une fonction 'acompte()' ???!!!
j'ai ajouté ça car il n'y avait rien dans ton code !!!
dis moi exactement ce que tu as comme '<input>' dans ton formulaire, ce que tu attends comme valeurs saisies et les calculs qu'il faut effectuer.
j'ai ajouté ça car il n'y avait rien dans ton code !!!
dis moi exactement ce que tu as comme '<input>' dans ton formulaire, ce que tu attends comme valeurs saisies et les calculs qu'il faut effectuer.
Il y a plein de input et plein de valeur a récupérer...
Je peux peut etre t'envoyer le fichier complet par mail , ça serait plus simple non ?
Je peux peut etre t'envoyer le fichier complet par mail , ça serait plus simple non ?
J'ai ça en code
<p align="right">Total de ma commande : </p> </td> <td width="80" bgcolor="#FAFAFA" height="36" valign="middle"> <p align="right"><input type="text" name="total" readonly="true" size="6" onfocus="total_com()">€</p></td></tr> </table> <table width="100%" cellpadding="0" cellspacing="0" height="32" style="border-width:1; border-color:white; border-style:dotted;"> <tr> <td width="88%" bgcolor="#FAFAFA" height="37" valign="middle"> <p align="right">Acompte et frais versés à la commande : </p></td> <td width="80" bgcolor="#FAFAFA" height="37" valign="middle"> <p align="right"><input type="text" name="acompte" readonly="true" size="6" value="30">€</p>
J'ai ça que j'ai abrégé car c'est assez long
function acompte() { valac=0; if (document.acheter2.totcarteA.value != "") { valac = valac + parseInt(document.acheter2.totcarteA.value); } else { valac = valac; } if (document.acheter2.totcarteB.value != ""){ valac= valac + parseInt(document.acheter2.totcarteB.value); } else { valac =valac;} return valac; }