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 :

Formulaire de calcul de prix instantané


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Formulaire de calcul de prix instantané
    Bonjour à tous,

    Je sollicite un petit coup de main, étant un bleu en programmation (pour moi c'est presque du chinois) je voudrais créer un formulaire de calcul instantané en javascript, je m'explique :

    J'ai une zone de texte, avec un script trouvé ici même, qui calcule le nombre de caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type='text/javascript'>
    onch("");	
    function onch(txt) {
    document.Myform.nbCaractere.value=txt.length.toString();
    timer=setTimeout("onch(document.Myform.annonce.value)", 100); 	
    }
    </script>
    Or je voudrais utiliser ce nombre de caractères et par la formule ci-dessous le convertir en prix.

    Nbdecaracteres x 0.08 = A
    si A < 1 , A = 1
    ensuite A = nombre entier le plus proche
    Prix = A x 2

    Le but est que le prix se calcule instantanément dans un span ou boite de texte par exemple, pour ensuite pouvoir récupérer ce "prix" et l'utiliser via un bouton d'achat paypal.

    Merci à tous pour vos coup de main !!

  2. #2
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut,

    Voilà !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    alert(calcPrix("test"));
     
    function calcPrix(txt)
    {
    	//document.Myform.nbCaractere.value=txt.length.toString();
    	var A = txt.length * 0.08;	
    	A < 1 ? A = 1 : A = A;
    	return Math.round(A) * 2;
    }//calcPrix
    setTimeout ne sert à rien ici, du moins je vois pas trop l'intérêt...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonsoir,

    Merci pour votre réponse,
    cependant j'ai toujours un petit hic :
    lorsque la page se charge j'ai le popup qui affiche 2 a tout les coups,
    or je voudrais faire apparaitre le résultat du calcul à la volée, au fur et à mesure que l'on écrit dans la zone de texte, voilà le code complet de la page :

    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
     
    <form name="zone">
     
    <textarea name="annonce" cols="50" rows="10">
    </textarea><br>
    </p>
    <p>
    Nombre de caractères  <input type="text"  id="qté" name="nbCaractere" >
    </p>
    <p>
      <input type="text" name="TT2" id="TT2" disabled="disabled" onchange="calcPrix(this.form)";/>
    </p>
    <p>
      <input type="submit" value="Envoyer" />
    </p>
    </form>
     
    <script type='text/javascript'>
    onch("");	
    function onch(txt) {
    document.zone.nbCaractere.value=txt.length.toString();
    timer=setTimeout("onch(document.zone.annonce.value)", 100); 	
    }
     
    function calcPrix(txt)
    {
    	//document.Myform.nbCaractere.value=txt.length.toString();
    	var A = txt.length * 0.08;	
    	A < 1 ? A = 1 : A = A;
    	return Math.round(A) * 2;
    }//calcPrix
     
     
    </script>
    J'ai enlevé le "Alert", je voudrais faire apparaitre le résultat dans la zone de formulaire "disabled" nommée TT2 de la même façon que le nombre de caractères apparait.

    Encore merci pour le coup de main.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 271
    Points : 491
    Points
    491
    Par défaut
    Voila ca devrait répondre a ta question en utilisant l'evenement clavier onkeyup tu appelle la fonction onch avec comme parametre le texte saisie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form name="zone">
    <textarea name="annonce" cols="50" rows="10" onkeyup="onch(this.value)"></textarea>
    <br>
    <p> Nombre de caractères  <input type="text"  id="nbcaractere" name="nbcaractere" /></p>
    <p><input type="text" name="prix" id="prix" disabled="disabled"/></p>
    <p><input type="submit" value="Envoyer" /></p>
    </form>
    et le code javascript
    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
    <script type='text/javascript'>
    onch("");  
    function onch(txt) {
        var longueur = txt.length;
        document.zone.nbcaractere.value= longueur;
        document.zone.prix.value = calcPrix(longueur)
    }
     
    function calcPrix(A)
    {
        var B = A * 0.08;    
        var C = (A < 1) ?  1 : A;
        return Math.round(C) * 2;
    } 
    </script>

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour la réponse le calcul est ok, j'ai simplement enlevé la variable C qui ne calculait pas correctement le code donne donc ceci
    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
     <textarea name="annonce" cols="50" rows="10" onkeyup="onch(this.value)"></textarea>
      <br>
    </p>
    <p> Nombre de caractères  <input type="text"  id="nbcaractere" name="nbcaractere" disabled="disabled" width="50px"/></p>
    <p>Prix de l'annonce 
      <input type="text" name="prix" id="prix" disabled="disabled" width="40px"  height="20px"/>
      €</p>
    <p><input type="submit" value="Envoyer" /></p>
    </form>
     
    <script type='text/javascript'>
    onch("");  
    function onch(txt) {
        var longueur = txt.length;
        document.zone.nbcaractere.value= longueur;
        document.zone.prix.value = calcPrix(longueur)
    }
     
    function calcPrix(A)
    {
        var B = A * 0.04;    
     
        return Math.round(B) * 2;
    } 
    </script>
    J'ai encore besoin d'un petit coup de main,
    je voudrais maintenant récupérer cette valeur "prix" pour l'insérer dans le code de paypal, mais évidement je n'arrive pas à trouver comment

    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
    <form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="business" value="me@me.com">
    <input type="hidden" name="item_name" value="000">
    <input type="hidden" name="quantity" value="1">
    <input type="hidden" name="item_number" value="11">
    <input type="hidden" name="amount" id="finalpaypal">
    <input type="hidden" name="no_note" value="1">
    <input type="hidden" name="currency_code" value="EUR">
    <input type="hidden" name="add" value="1">
    <input type="submit" name="Submit" value="Accéder au règlement">
    </form>
    
    <script> 
    var finalpaypal = document.getElementById('prix'); 
    calcPrix.onchange = function(){  
    finalpaypal.value = this.value; 
    }  
    document.getElementById("finalpaypal").value = prix; 
    </script>
    Merci encore pour votre aide

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 271
    Points : 491
    Points
    491
    Par défaut
    Tu centralise tout tes modifications dans la fonction onch qui est appelé a chaque modification de la zone de texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type='text/javascript'>
    onch("");  
    function onch(txt) {
        var longueur = txt.length;
        document.zone.nbcaractere.value= longueur;
        var prix = calcPrix(longueur);
        document.zone.prix.value = prix;
        document._xclick.amount.value = prix;
    }
    </script>

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/07/2009, 18h09
  2. Calcul automatique prix formulaire
    Par tidus5 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/11/2007, 15h10
  3. formulaire qui calcule ????????
    Par yoan_111 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/03/2006, 13h07
  4. Réponses: 3
    Dernier message: 23/01/2006, 10h10
  5. Calcul de prix unitaire moyen
    Par smail21 dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/11/2005, 12h10

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