Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 19h01   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 3
Points : 1
Points : 1
Par défaut un formulaire pour un devis en temps réel

Bonjour à tous,

Voici 1 tentative pour réaliser 1 devis en temps réel:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
</head>
 
<body>
 
<script type="text/javascript">
function radiocoche(Nom) 
{
var r = false;
var d = document.forms;
for(var i=0; i<d.length; i++) {
for(var k=0; k<d[i].length; k++) {
if(d[i][k].type=='radio' && d[i][k].name==Nom) {
for(var j=0; j<d[i][Nom].length; j++)
if(d[i][Nom][j].checked)
r = d[i][Nom][j].value;
}
}
}
return parseFloat(r);
}
 
 
function boxcochee(Nom)
{
var r = 0;
if (document.getElementById(Nom).checked)
r = document.getElementById(Nom).value;
return parseFloat(r);    
}
 
function Calcul()
{
var res = radiocoche("couleurmaison");
res += radiocoche("nbchambre");
res += boxcochee("jardin");
res += boxcochee("piscine");
res += boxcochee("jacuzzi");
res += parseFloat(document.getElementById("cheminee").value);
document.getElementById("total").value=res+" €";
}
 
 
 
</script>
 
couleur:
 
<p>
  <input type="radio" name="couleurmaison" value="100" id="blanche" 
checked /> 
  <label for="blanche"> blanche -> 100 € </label>
  <br />
  <input type="radio" name="couleurmaison" value="200" id="rose" /> 
  <label for="rose"> rose -> 200 € </label>
  <br />
  <input type="radio" name="couleurmaison" value="300" 
id="petitpois" /> 
  <label for="petitpois"> à petits pois -> 300 € 
  </label>
</p>
<p>Nb de chambres</p>
 
<p>
  <input type="radio" name="nbchambres" value="90" id="nbchvaut2" 
checked /> 
  <label for="nbchvaut2"> 2 -> + 90 € </label>
  <br />
  <input type="radio" name="nbchambres" value="110" id="nbchvaut3" 
/> 
  <label for="nbchvaut3"> 3 -> + 110 € </label>
  <br />
  <input type="radio" name="nbchambres" value="150" id="nbchvaut4" 
/> 
  <label for="nbchvaut4"> 4 et plus -> + 150 € </label>
</p>
<p>Ajout:</p>
<p>
  <input type="checkbox" name="jardin" id="jardin" value="230" />
  <label for="jardin">Jardin -> 230 €</label>
  <br />
  <input type="checkbox" name="piscine" id="piscine" value="500" />
  <label for="jardin"> Piscine -> 500 €</label>
  <br  />
  <input type="checkbox" name="jacuzzi" id="jacuzzi" value="230" />
  <label for="jardin"> Jacuzzi -> 350 €</label>
</p>
<p>Cheminée</p>
<p>
  <select name="cheminee" id="cheminee">
    <option value="0">Pas de cheminée</option>
    <option value="400">Modèle 1 -> 400 €</option>
    <option value="450">Modèle 2 -> 450 €</option>
    <option value="500">Modèle 3 -> 500 €</option>
    <option value="550">Modèle 4 -> 550 €</option>
    <option value="600">Modèle 5 -> 600 €</option>
    <option value="650">Modèle 6 -> 650 €</option>
    <option value="700">Modèle 7 -> 700 €</option>
  </select>
</p>
<p>
  <INPUT type="text" maxLength=10 size=10 name=total id="total" 
value="" readonly>
</p>
<p>&nbsp;</p>
<input type="button" value="Faire le total" onClick="Calcul()">
</body>
</html>
Il doit y avoir 1 erreur dans le code, car quand on fait le total il ne nous donne pas 1 valeur numérique.

J'espère que parmi vous il y aura 1 personne capable de me dire où est l'erreur.

Merci d'avance.

Pascal
thee-ou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 11h44   #2
Modérateur
 
Avatar de dinobogan
 
Homme Dinobogan Shelashyn
ingénieur étude et développement
Inscription : juin 2007
Messages : 3 272
Détails du profil
Informations personnelles :
Nom : Homme Dinobogan Shelashyn
Âge : 31
Localisation : France

Informations professionnelles :
Activité : ingénieur étude et développement
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2007
Messages : 3 272
Points : 4 874
Points : 4 874
Rien à voir avec Java. Sujet déplacé dans la bonne section.
__________________
Que la force de la puissance soit avec le courage de ta sagesse.
dinobogan est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 11h52   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 793
Points : 35 793
Code :
var d = document.forms;
Elles sont où les balises <form> dans ta page...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 11h56   #4
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
salut

la première idée serait peut-être d'avoir au moins un élément form dans la page pour que document.forms ne soit pas vain...

je regarde le reste;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 11h57   #5
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
gasp damned diantre...
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 12h06   #6
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
"nbchambres" != "nbchambre"

après, penses-tu avoir besoin de plusieurs formulaires dans ta page?
(penses-tu à une simplification du code, à terme, quoi?)
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 12h17   #7
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
vérifie aussi le value de ton jacuzzi parce que là, tu te fais avoir;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 14h53   #8
Invité de passage
 
Inscription : octobre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 3
Points : 1
Points : 1
Par défaut 1 tout grand merci ! ! !

oui, effectivement il manquait les balises <form> !!!

Citation:
Envoyé par Bovino Voir le message
Code :
var d = document.forms;
Elles sont où les balises <form> dans ta page...
Encore merci cela fonctionne
thee-ou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 14h58   #9
Invité de passage
 
Inscription : octobre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 3
Points : 1
Points : 1
Par défaut 1 grand merci à toi aussi ! ! !

Merci pour toutes ces remarques, elles m'ont bien fait rire

Citation:
Envoyé par javatwister Voir le message
vérifie aussi le value de ton jacuzzi parce que là, tu te fais avoir;
thee-ou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 15h12   #10
Invité de passage
 
Femme
Ingénieur développement logiciels
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 3
Points : 3
Bonjour,
ça doit être marcher! Essaye-le! Tu n'as pas besoin des <label> j'ai tout supprimé, et le signe français pose problème aussi, fait attention.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
</head>
 
<body>
 
<script type="text/javascript">
 
function Calcul()
{
 
$couleurmaison = parseInt(teste1());
$nbchambre = parseInt(teste2());
$ajout = parseInt(teste3());
$cheminee = parseInt(document.getElementById("cheminee").value);
alert($cheminee );
$res = $couleurmaison+$nbchambre+$ajout+$cheminee;
document.getElementById("total").value=$res;
}
 
 function teste1() { 
  var m=0; 
  for (i=0;i<document.forms.totalForm.couleurmaison.length;i++) { 
    if (document.forms.totalForm.couleurmaison[i].checked==true) { 
      var rad_val = document.totalForm.couleurmaison[i].value;
      break; 
    } 
  }
  return rad_val;
 }
  function teste2() { 
  var m=0; 
  for (i=0;i<document.forms.totalForm.nbchambres.length;i++) { 
    if (document.forms.totalForm.nbchambres[i].checked==true) { 
    var rad_val = document.totalForm.nbchambres[i].value;
    break; 
    } 
  }
  return rad_val;
 }
  function teste3() { 
  var m=0; 
  for (i=0;i<document.forms.totalForm.ajout.length;i++) { 
    if (document.forms.totalForm.ajout[i].checked==true) { 
      var rad_val = document.totalForm.ajout[i].value;
      break; 
    } 
  }
  return rad_val;
 }
</script>
 
couleur:
 <form name="totalForm">
<p>
  <input type="radio" name="couleurmaison" value="100" id="blanche" checked /> blanche -> 100 &#x20AC  <br />
  <input type="radio" name="couleurmaison" value="200" id="rose" /> rose -> 200 &#x20AC  <br />
  <input type="radio" name="couleurmaison" value="300" id="petitpois" /> &agrave petits pois -> 300 &#x20AC
</p>
<p>Nb de chambres</p>
 
<p>
  <input type="radio" name="nbchambres" value="90" id="nbchvaut2" checked /> 2 -> + 90 &#x20AC  <br />
  <input type="radio" name="nbchambres" value="110" id="nbchvaut3" />   3 -> + 110 &#x20AC  <br />
  <input type="radio" name="nbchambres" value="150" id="nbchvaut4" />   4 et plus -> + 150 &#x20AC
</p>
<p>Ajout:</p>
<p>
  <input type="checkbox" name="ajout" id="jardin" value="230" />Jardin -> 230 &#x20AC  <br />
  <input type="checkbox" name="ajout" id="piscine" value="500" />Piscine -> 500 &#x20AC<br  />
  <input type="checkbox" name="ajout" id="jacuzzi" value="230" />Jacuzzi -> 350 &#x20AC
</p>
<p>Cheminee</p>
<p>
  <select name="cheminee" id="cheminee">
    <option value="0">Pas de cheminee</option>
    <option value="400">Modele 1 -> 400 &#x20AC</option>
    <option value="450">Modele 2 -> 450 &#x20AC</option>
    <option value="500">Modele 3 -> 500 &#x20AC</option>
    <option value="550">Modele 4 -> 550 &#x20AC</option>
    <option value="600">Modele 5 -> 600 &#x20AC</option>
    <option value="650">Modele 6 -> 650 &#x20AC</option>
    <option value="700">Modele 7 -> 700 &#x20AC</option>
  </select>
</p>
<p>
<INPUT type="text" maxLength=10 size=10 name='total' id="total" value="total:" readonly>
</p>
<p>&nbsp;</p>
<input type="button" value="Faire le total" onClick="Calcul()">
 </form>
</body>
</html>
xinlululu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h39.


 
 
 
 
Partenaires

Hébergement Web