Javascript, input radio

Fermé
Kraiss Messages postés 172 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 24 mai 2011 - 11 mai 2010 à 11:09
Kraiss Messages postés 172 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 24 mai 2011 - 11 mai 2010 à 14:50
Salut,
J'essaie de realiser un site contre le tabagisme (les cours vous voyez ^^).
J'ai essayer de realiser un compte de l'argent depenser pour les clopes mais mon code ne semble pas fonctionner et la console d'erreur ne m'aide pas vraiment a savoir d'où vient le problème. Je vous laisse le code, si vous pourriez m'aider:

<script type="text/javascript">
function calcul(prix,nbc,nbp){
var tot=0
var prix_cig=prix/nbp;
var arg_par_jour=prix_cig*nbc;
for (i=0,i<3,i++){
if (document.selection[i].checked == true)
tot=arg_par_jour*parseInt(document.selection[i].value);
}
alert ("La somme que vous depenserez s'eleve a "+tot);
}
</script>
</head>
<body>
<h2>Calcul de perte monetaire</h2>
<form name="formulaire" action="conversion.html" method="post">
<fieldset>Nombre de cigarettes qui vous fumez par jour:
<input type="text" name="nbc"/><br/><br/>
Nombre de cigarettes par paquets (generalement 20):
<input type="text" name="nbp" value="20"/><br/><br/>
Prix de votre paquet de cigarette:
<input type="text" name="prix" value="5"/>
<h4>selectionionnez une periode de temps:</h4>
<input type="radio" name="selection" value="1"/> un jour<br/>
<input type="radio" name="selection" value="30"/> un mois<br/>
<input type="radio" name="selection" value="365"/> un an<br/>
<input type="button" value="voir votre consommation" onclick="calcul(prix.value,nbc.value,nbp.value);"/>
</fieldset>
</form>


A voir également:

4 réponses

Jaina_ Messages postés 78 Date d'inscription mardi 4 mai 2010 Statut Membre Dernière intervention 1 juin 2010 9
11 mai 2010 à 14:05
Exact, je confonds avec autre chose, mais bon je me suis penché sur le code et j'ai corrigé ta fonction, ça devrait être bon :

function calcul(prix,nbc,nbp){
var tot=0;
var prix_cig=prix/nbp;
var arg_par_jour=prix_cig*nbc;
for (i=0;i<3;i++){
if (document.formulaire.selection[i].checked == true)
tot=arg_par_jour*parseInt(document.formulaire.selection[i].value);
}
alert ("La somme que vous depenserez s'eleve a "+tot);
}


Les erreurs venaient de la boucle for (/!\ aux points virgules) et ce n'est pas document.selection mais document.ton_formulaire.le_nom

Voilà !
1
Kraiss Messages postés 172 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 24 mai 2011 22
11 mai 2010 à 14:50
Yes tu gere merci :)
0
Jaina_ Messages postés 78 Date d'inscription mardi 4 mai 2010 Statut Membre Dernière intervention 1 juin 2010 9
11 mai 2010 à 12:02
A première vue, ça semble pas mal, essaie de placer des alert un peu partout dans ton code pour "cibler" où est le problème notamment vers les appels de fonction : calcul et parseInt
0
Kraiss Messages postés 172 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 24 mai 2011 22
11 mai 2010 à 12:46
Si la fonction marche pas, les alert ne s'afficheront pas :) 'est plutot le probleme que j'ai que j'attendrais, j'ai pas de mode debug et meme si je savais de quel ligne sa venais je ne saurait pas corriger du coup...
0
Jaina_ Messages postés 78 Date d'inscription mardi 4 mai 2010 Statut Membre Dernière intervention 1 juin 2010 9
11 mai 2010 à 13:04
Le code s'exécute jusqu'à atteindre l'erreur, le fait de placer des alert "1", "2", etc. te permettra de connaître exactement la ligne où se trouve l'erreur ==> Plus facile à corriger !!! Après tu fais comme tu le sens !
0
Kraiss Messages postés 172 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 24 mai 2011 22
11 mai 2010 à 13:11
un script java ne s'execute pas calcul par calcul, il n'affiche les resultat seulement une fois les calcul terminer. Si le programme ne se termine pas, aucune alert ne s'affiche.
0