Probleme sur formulaire
Résolu/Fermé
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
-
16 oct. 2007 à 16:02
Orkaell - 1 nov. 2007 à 22:48
Orkaell - 1 nov. 2007 à 22:48
A voir également:
- Que veut dire alias du formulaire
- Formulaire de réclamation facebook - Guide
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
- Pierre a créé un raccourci (alias ou lien) du fichier sommaire sur son bureau. quel est le numéro de l'icône correspondant à ce raccourci ? ✓ - Forum Word
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum Access
- Formulaire instagram compte suspendu - Guide
66 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
16 oct. 2007 à 21:02
16 oct. 2007 à 21:02
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; } }
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
16 oct. 2007 à 21:05
16 oct. 2007 à 21:05
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);
}
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
16 oct. 2007 à 21:38
16 oct. 2007 à 21:38
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;
}
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
16 oct. 2007 à 23:34
16 oct. 2007 à 23:34
Bouhh ça ne marche tjs pas... :-(
quand je mets ces codes les totaux ne s'affichent plus.
quand je mets ces codes les totaux ne s'affichent plus.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 10:01
17 oct. 2007 à 10:01
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 !
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 10:08
17 oct. 2007 à 10:08
je viens de tester ta proposition dalida et les résultats ne s'affichent plus ! :-(
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 10:21
17 oct. 2007 à 10:21
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é !
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 10:58
17 oct. 2007 à 10:58
J'ai essayé tjs pareil les totaux ne s'affichent plus ! :-(
Je commence a desespérer....
Je commence a desespérer....
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 11:22
17 oct. 2007 à 11:22
vide le cahe de ton navigateur.
il y a une 'alert' (boite de dialogue) qui s'affiche.
il y a une 'alert' (boite de dialogue) qui s'affiche.
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 11:32
17 oct. 2007 à 11:32
Les résultats s'affichent dans IE mais pas dans FF mais le pb des centimes n'est tjs pas réglé
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 11:41
17 oct. 2007 à 11:41
tu parles de mon exemple ?
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 11:53
17 oct. 2007 à 11:53
non qd j'integre ton dernier code proposé dans mon formulaire
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 12:03
17 oct. 2007 à 12:03
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()'.
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 12:18
17 oct. 2007 à 12:18
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
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 12:24
17 oct. 2007 à 12:24
et 'acompte()' retourne quoi ?
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 12:27
17 oct. 2007 à 12:27
J'ai ça apres le code donné audessus
function acompte() { return 10; }
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
17 oct. 2007 à 12:30
17 oct. 2007 à 12:30
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.
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 16:48
17 oct. 2007 à 16:48
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 ?
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 17:15
17 oct. 2007 à 17:15
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>
Orkaell
Messages postés
28
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
19 octobre 2007
17 oct. 2007 à 17:21
17 oct. 2007 à 17:21
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; }