Mon bouton calcul ne fonctionne pas
Résolu/Fermé
titi 6247
Messages postés
30
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
12 mars 2011
-
11 mars 2011 à 11:10
titi 6247 Messages postés 30 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 12 mars 2011 - 12 mars 2011 à 21:16
titi 6247 Messages postés 30 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 12 mars 2011 - 12 mars 2011 à 21:16
A voir également:
- Mon bouton calcul ne fonctionne pas
- Calcul moyenne excel - Guide
- Bouton reinitialisation pc - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Réinitialiser chromecast sans bouton - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
6 réponses
salut,
il manque le parametre quand tu appelle ta fonction.
essaye avec ca :
onclick="calculPrix(this.form)"
a+
il manque le parametre quand tu appelle ta fonction.
essaye avec ca :
onclick="calculPrix(this.form)"
a+
titi 6247
Messages postés
30
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
12 mars 2011
11 mars 2011 à 17:29
11 mars 2011 à 17:29
Bonjour à vous,
Je viens d'essayer, et, cela ne fonctionne toujours pas :
<form name="form1" method="post" action="">
<div align="center"><big><font
color="#333333">Surface en m² </font> <input
name="surface" size="7" maxlength="7" type="text">
<input value="Calcul"onclick="calculPrix(this.form) /"
type="button"><fontcolor="#333333"><input name="montant" size="9"
maxlength="9" type="text">€TTC</fontcolor></big></div>
</form>
Auriez vous une autre idée s'il vous plait.
Cordialement,
Alain
Je viens d'essayer, et, cela ne fonctionne toujours pas :
<form name="form1" method="post" action="">
<div align="center"><big><font
color="#333333">Surface en m² </font> <input
name="surface" size="7" maxlength="7" type="text">
<input value="Calcul"onclick="calculPrix(this.form) /"
type="button"><fontcolor="#333333"><input name="montant" size="9"
maxlength="9" type="text">€TTC</fontcolor></big></div>
</form>
Auriez vous une autre idée s'il vous plait.
Cordialement,
Alain
effectivement, ca ne peut pas marcher
<input value="Calcul"onclick="calculPrix(this.form) /" type="button">
il ne faut pas de slash dans le onclick. Il faut ecrire
<input value="Calcul" onclick="calculPrix(this.form)" type="button">
<input value="Calcul"onclick="calculPrix(this.form) /" type="button">
il ne faut pas de slash dans le onclick. Il faut ecrire
<input value="Calcul" onclick="calculPrix(this.form)" type="button">
missokhay
Messages postés
18
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
12 mars 2015
8
Modifié par missokhay le 12/03/2011 à 09:03
Modifié par missokhay le 12/03/2011 à 09:03
Le problème est au niveau de la fonction elle-même: la variable f (qui renvoit au formulaire) n'est pas définie. Il suffit juste d' ajouter cette ligne au début : f=document.form1;
Le code devient :
<script language="JavaScript" type="text/JavaScript">
// la fonction dont l'argument f deviendra l'objet formulaire (voir l'appel plus bas)
function calculPrix(f){
f=document.form1;
var E,S,P,Q;
E=f.surface.value;
// Remplacer l'éventuelle virgule par un point
S=E.replace(/,/,'.');alert(S)
if (S<120) P=1500;
else if (S<170) P=1500+(S-120)*8.6;
else if (S<300) P=1500+(S-170)*9.6;
else if (S<500) P=1500+(S-300)*10.37;
else {alert('Surface trop grande. Formule indéfinie');return}
P=Math.round(P*100)/100;
// Remplacer le point par une virgule
Q=P.toString().replace(/\./,',');
f.montant.value=Q;
}// fin de la fonction
</script>
Le code devient :
<script language="JavaScript" type="text/JavaScript">
// la fonction dont l'argument f deviendra l'objet formulaire (voir l'appel plus bas)
function calculPrix(f){
f=document.form1;
var E,S,P,Q;
E=f.surface.value;
// Remplacer l'éventuelle virgule par un point
S=E.replace(/,/,'.');alert(S)
if (S<120) P=1500;
else if (S<170) P=1500+(S-120)*8.6;
else if (S<300) P=1500+(S-170)*9.6;
else if (S<500) P=1500+(S-300)*10.37;
else {alert('Surface trop grande. Formule indéfinie');return}
P=Math.round(P*100)/100;
// Remplacer le point par une virgule
Q=P.toString().replace(/\./,',');
f.montant.value=Q;
}// fin de la fonction
</script>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
titi 6247
Messages postés
30
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
12 mars 2011
12 mars 2011 à 11:09
12 mars 2011 à 11:09
Bonjour à tous deux, et à tous,
merci pour vos réponses. J'ai donc suivi vos conseils, mais, cela ne fonctionne pas.
Comme je vous l'ai dit, je n'y connais rien dans ce domaine, je vous mets donc depuis le début au cas où le défaut viendrait de plus haut, et, je vous mets également un peu de ce qu'il y a au dessus de ce bouton (qui ne veut pas fonctionner)
Je vous remercie par avance,
Alain.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>BIEC bis</title>
<script type="text/javascript">
// la fonction dont l'argument f deviendra l'objet formulaire (voir l'appel plus bas) function calculPrix(f){
f=document.form1; var E,S,P,Q;
E=f.surface.value;
// Remplacer l'éventuelle virgule par un point
S=E.replace(/,/,'.');alert(S)
if (S<120) P=1500;
else if (S<170) P=1500+(S-120)*8.6;
else if (S<300) P=1500+(S-170)*9.6;
else if (S<500) P=1500+(S-300)*10.37;
else {alert('Surface trop grande. Formule indéfinie');return}
P=Math.round(P*100)/100;
// Remplacer le point par une virgule
Q=P.toString().replace(/\./,',');
f.montant.value=Q;
}// fin de la fonction
</script>
<style type="text/css">
#cl1,#cl2,#cl3,#cl4 {
float:left;
width:25%;
height:500px;
}
et donc
<br>
</big>
<div style="text-align: left;"><big><small>De
0 à 120m² 1500€<br>
De 121 à 170m² 8.60€ en plus par m²<br>
De 171 à 300m² 9.60€ en plus par m²<br>
De 301 à 500m² 10.37€ en plus par m²<br>
</small><br>
Au dela de 500m² voir en agence<br>
</big>
<form name="form1" method="post" action="">
<div align="center">
<p><big><big><small>S en m²
</small><input name="surface" size="7"
maxlength="7" type="text"><input value="Calcul"
onclick="calculPrix(this.form)" type="button"><input
name="montant" size="9" maxlength="9" type="text"><small>Prix
TTC en €</small>
</big></big></p>
</div>
</form>
</div>
J'espère que cela pourra vous faire voir d'où vient cette erreur. Merci encore.
merci pour vos réponses. J'ai donc suivi vos conseils, mais, cela ne fonctionne pas.
Comme je vous l'ai dit, je n'y connais rien dans ce domaine, je vous mets donc depuis le début au cas où le défaut viendrait de plus haut, et, je vous mets également un peu de ce qu'il y a au dessus de ce bouton (qui ne veut pas fonctionner)
Je vous remercie par avance,
Alain.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>BIEC bis</title>
<script type="text/javascript">
// la fonction dont l'argument f deviendra l'objet formulaire (voir l'appel plus bas) function calculPrix(f){
f=document.form1; var E,S,P,Q;
E=f.surface.value;
// Remplacer l'éventuelle virgule par un point
S=E.replace(/,/,'.');alert(S)
if (S<120) P=1500;
else if (S<170) P=1500+(S-120)*8.6;
else if (S<300) P=1500+(S-170)*9.6;
else if (S<500) P=1500+(S-300)*10.37;
else {alert('Surface trop grande. Formule indéfinie');return}
P=Math.round(P*100)/100;
// Remplacer le point par une virgule
Q=P.toString().replace(/\./,',');
f.montant.value=Q;
}// fin de la fonction
</script>
<style type="text/css">
#cl1,#cl2,#cl3,#cl4 {
float:left;
width:25%;
height:500px;
}
et donc
<br>
</big>
<div style="text-align: left;"><big><small>De
0 à 120m² 1500€<br>
De 121 à 170m² 8.60€ en plus par m²<br>
De 171 à 300m² 9.60€ en plus par m²<br>
De 301 à 500m² 10.37€ en plus par m²<br>
</small><br>
Au dela de 500m² voir en agence<br>
</big>
<form name="form1" method="post" action="">
<div align="center">
<p><big><big><small>S en m²
</small><input name="surface" size="7"
maxlength="7" type="text"><input value="Calcul"
onclick="calculPrix(this.form)" type="button"><input
name="montant" size="9" maxlength="9" type="text"><small>Prix
TTC en €</small>
</big></big></p>
</div>
</form>
</div>
J'espère que cela pourra vous faire voir d'où vient cette erreur. Merci encore.
titi 6247
Messages postés
30
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
12 mars 2011
12 mars 2011 à 21:16
12 mars 2011 à 21:16
Bonsoir,
Un grand merci à vous deux, ça y est, ça fonctionne.
Avant de mettre en résolut, j'aimerai juste comprendre une chose, j'avais bien vu cette "function" qui revenait à chaque fois en bout du commentaire.
Je la remettais donc en place, mais vu quelle revenait là en bout, j'avais pensé que cela était normal.
Y a t il une raison à cela ? Cette fois ci, avant d'enregistrer le changement, j'ai simplement mis le curseur en bas de la page, et, youpi, cela fonctionne.
Bon, une autre chose si c'est permis, j'avais mis une "alert"(S), donc sur la surface rentrée. Cela ne me convient pas. Comme je ne me souviens plus de l'endroit où j'avais trouvé cette astuce, et, afin de ne pas faire de bétise, pour enlever cette "alert", je dois juste supprimer "alert(S) ou bien autre chose en plus. Je pense que oui, mais, je préfère demander.
A, comment mettre en résolut, je ne me souviens plus. (Je dois devenir trop vieux maintenant).
Mais, encore un grand merci.
Bonne soirée,
Alain.
Un grand merci à vous deux, ça y est, ça fonctionne.
Avant de mettre en résolut, j'aimerai juste comprendre une chose, j'avais bien vu cette "function" qui revenait à chaque fois en bout du commentaire.
Je la remettais donc en place, mais vu quelle revenait là en bout, j'avais pensé que cela était normal.
Y a t il une raison à cela ? Cette fois ci, avant d'enregistrer le changement, j'ai simplement mis le curseur en bas de la page, et, youpi, cela fonctionne.
Bon, une autre chose si c'est permis, j'avais mis une "alert"(S), donc sur la surface rentrée. Cela ne me convient pas. Comme je ne me souviens plus de l'endroit où j'avais trouvé cette astuce, et, afin de ne pas faire de bétise, pour enlever cette "alert", je dois juste supprimer "alert(S) ou bien autre chose en plus. Je pense que oui, mais, je préfère demander.
A, comment mettre en résolut, je ne me souviens plus. (Je dois devenir trop vieux maintenant).
Mais, encore un grand merci.
Bonne soirée,
Alain.