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

jQuery Discussion :

Script devis en ligne


Sujet :

jQuery

  1. #1
    Membre averti
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 48
    Par défaut Script devis en ligne
    Bonjour à toutes et tous !

    Je ne sais vraiment pas si je suis dans le bon sous-forum. Si ce n'est pas le cas, je vous demande de bien vouloir m'excuser.

    Pour être honnête, je ne connais absolument rien en langage informatique. Mon domaine est plutôt l'orthographe. Je suis correctrice de textes en français.

    Je suis d'ailleurs en pleine création d'un site web relatif à cette activité. Je fais tout par moi-même, n'ayant pas beaucoup de revenus pour le moment.

    Une connaissance à moi m'a aidée à élaborer un script de devis en ligne pour mon site internet. Le voici :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <p>Calculer le coût de votre correction</p>
     
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <p> </p>
    <form id="testform"><label>Nombre de caractères </label><input id="nbchar" type="nombre" name="nbchar" value="0" /><br /> <label>Formule </label><input type="radio" name="formule" value="1" checked="checked" /> Simple ou <input type="radio" name="formule" value="2" /> Approfondie<br /> <label>Statut </label><select id="formjur" name="formjur">
    <option value="0">Etudiant</option>
    <option value="1">Particulier</option>
    <option value="2">Professionnel</option>
    </select><input type="submit" value="calculer" /></form>
    <div id="resultat"> </div>
    <p> </p>
    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
    $(function(){
    $("input:submit").click(
    function(){
    var calcul = 0;
    if($("input:checked").val() == 1){
    if($("#formjur").val()== 1){
    calcul = $("#nbchar").val() * 0.0029;
    }else if ($("#formjur").val()== 2) {
    calcul = $("#nbchar").val() * 0.0033;
    }else{
    calcul = $("#nbchar").val() * 0.0025;
    }
    }else{
    if($("#formjur").val()== 1){
    calcul = $("#nbchar").val() * 0.004375;
    }else if ($("#formjur").val()== 2) {
    calcul = $("#nbchar").val() * 0.005;
    }else{
    calcul = $("#nbchar").val() * 0.00375;
    }
    }
    var resultat = Math.ceil(calcul);
    $("#resultat").html("Le montant de votre devis est de <b>"+resultat+"<b> &euro;");
    return false;
    }
    );
    });
    Alors tout d'abord, je souhaiterais vous dire que je ne viens pas ici pour que l'on me fournisse une solution toute faite. J'aimerais juste, si vous le voulez bien, que l'on m'aiguille.

    A la place des tarifs inscrits dans le script, j'aimerais insérer des forfaits. Par exemple, de 1 à 3 000 caractères : 10 euros, etc.

    Par où pourrais-je commencer ? Existe-t-il de la documentation ?

    En vous remerciant par avance de vos conseils.

    Liliana

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Je ne sais pas exactement ce que tu as en tête mais je pense qu'à un moment donné tu vas avoir besoin des opérateurs de comparaison :
    • < inférieur à
    • <= inférieur ou égal à
    • > supérieur à
    • >= supérieur ou égal à

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (nombre >= 1 && nombre < 3000) {
       tarif = 10;
    }
    // etc.
    Le Mozilla Developer Network est une bonne doc, même s'il a parfois tendance à partir un peu en jargon technique.

    N'hésite pas à abuser des variables pour rendre ton code plus clair. Tu as aussi le droit de mettre du texte dans les attributs value="...". On se rend mieux compte de ce que fait l'instruction if ($("#formjur").val() == "Particulier") { ... } plutôt que if ($("#formjur").val() == 1) { ... }

    Je vais pinailler un peu mais j'ai vu « Étudiant » sans accent sur son E majuscule. Certains considèrent ça comme une faute de typographie, d'autres affirment que c'est bien du domaine de l'orthographe. Il y a plein de manières de réussir à saisir le caractère, de la charmap à ton logiciel de traitement de texte préféré qui fait la substitution pour toi, en passant par les Alt-codes.
    Dans le code HTML tu as aussi la solution d'écrire l'entité &Eacute; à la place :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <option>&Eacute;tudiant</option>

    Bref j'espère que je te fais avancer un petit peu avec tout ça.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre averti
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 48
    Par défaut
    Je te remercie beaucoup de ta réponse.

    Donc, si j'ai bien compris, à la place de
    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
    if($("input:checked").val() == 1){
    if($("#formjur").val()== 1){
    calcul = $("#nbchar").val() * 0.0029;
    }else if ($("#formjur").val()== 2) {
    calcul = $("#nbchar").val() * 0.0033;
    }else{
    calcul = $("#nbchar").val() * 0.0025;
    }
    }else{
    if($("#formjur").val()== 1){
    calcul = $("#nbchar").val() * 0.004375;
    }else if ($("#formjur").val()== 2) {
    calcul = $("#nbchar").val() * 0.005;
    }else{
    calcul = $("#nbchar").val() * 0.00375;
    je dois écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (nombre >= 1 && nombre < 3000) {
       tarif = 10;
    }
    // etc.

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Oui, en gros, mais c'était un exemple « avec les mains ». Je n'ai pas précisé ce qu'est cette variable nombre et tarif (même si tarif correspond peu ou prou à ta variable resultat.

    Comme je l'ai dit, n'hésite pas à abuser des variables. En l'occurence il y a un vice avec valeurs issues des contrôles de formulaire, celles que tu récupères avec la méthode .val() : elles sont toujours de type string (chaîne de caractère). Dans la plupart des cas, la conversion en nombre se fait bien (notamment avec la multiplication et les comparaisons) mais il arrive que le résultat ne soit pas celui escompté, par exemple avec le signe + qui sert à la fois d'opérateur d'addition et de concaténation. Pour cette raison, je te recommande de faire la conversion explicitement au moyen de la fonction parseInt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var nombre = parseInt($("#nbchar").val(), 10);
    On rajoute un 10 en second paramètre pour être sûr que la conversion se fait bien en base décimale (pour des raisons historiques, les chaînes commençant par 0 sont converties en base octale).
    Avec tout ça, une variable est plus pratique que de réécrire toute l'expression à chaque fois qu'on en a besoin. C'est pour ça que je suis resté volontairement vague dans mon exemple.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre averti
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 48
    Par défaut
    Merci de ta réponse.

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

Discussions similaires

  1. Lancement script Sql en ligne de commande
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/11/2006, 10h27
  2. Lancer un script ASP en ligne de commande
    Par Matth_S dans le forum ASP
    Réponses: 4
    Dernier message: 11/08/2006, 10h46
  3. [Directives] Execution script php en ligne de commande
    Par pingoo78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/02/2006, 12h06
  4. lancer un script asp en ligne de commande
    Par niel5 dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 26/08/2005, 11h32
  5. Scripts : Extraire une ligne
    Par nemohck dans le forum Linux
    Réponses: 7
    Dernier message: 03/11/2003, 20h40

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