IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

un formulaire pour un devis en temps réel


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Rien à voir avec Java. Sujet déplacé dans la bonne section.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    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;

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    gasp damned diantre...

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    "nbchambres" != "nbchambre"

    après, penses-tu avoir besoin de plusieurs formulaires dans ta page?
    (penses-tu à une simplification du code, à terme, quoi?)

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    vérifie aussi le value de ton jacuzzi parce que là, tu te fais avoir;

  8. #8
    Futur Membre du Club
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Par défaut 1 tout grand merci ! ! !
    oui, effectivement il manquait les balises <form> !!!

    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var d = document.forms;
    Elles sont où les balises <form> dans ta page...
    Encore merci cela fonctionne

  9. #9
    Futur Membre du Club
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    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;

  10. #10
    Nouveau candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    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
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel outil pour une appli graphique "temps réel"
    Par Colargole dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 03/04/2009, 14h08
  2. [HLSL XNA]aide pour algo d'ombres temps réel
    Par Acropole dans le forum XNA/Monogame
    Réponses: 3
    Dernier message: 31/07/2008, 15h49
  3. Quelle solution pour une application web "temps réel"?
    Par izguit dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 27/03/2008, 11h04
  4. [IA] Pour un jeu en "temps réel"
    Par Bleys dans le forum Intelligence artificielle
    Réponses: 7
    Dernier message: 19/07/2007, 11h55
  5. Réponses: 4
    Dernier message: 14/02/2007, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo