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 :

Besoin d'aide en JS pour un "caddie"


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut Besoin d'aide en JS pour un "caddie"
    Bonjour à tous,

    Je vous sollicite car j'ai besoin d'aide :
    -J'aimerai réaliser une sorte de caddie ponctuel en javascript et affichage dans un div :

    Voila le principe :
    Sur un evenement onclick je souhaite passer en parametre un Id (unique) et un prix
    - A partir de ce moment si le "caddie" est vide j'instancie un tableau et l'impléménte avec l'id et le prix
    -Si je clic une deuxieme fois sur la même référence ca fait une iteration de 1

    - Enfin affciher dans un div le resultat

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Salut

    Alors tu as quasiement écris tout l'algo ...

    désolé voici un code complet que je viens de faire , assez lisible je pense

    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
     
    <!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=iso-8859-1" />
    <title>Document sans nom</title>
    <script type="text/javascript">
    var Article = new Array();
    var nbArticle = 0 ;
    var somme = 0;
    function addCaddie(id,prix,designation){
    	if(!isInArray(Article,id)){
    		Article[Article.length] = new Array(id,prix,designation);
    		tempSpan = document.createElement('span');
    		texte = document.createTextNode(designation);
    		tempSpan.appendChild(texte);
    		tempSpan.setAttribute("id",id);
    		document.getElementById('lstArticle').appendChild(tempSpan);
    		br = document.createElement('br');
    		document.getElementById('lstArticle').appendChild(br);
    	}
    	nbArticle++;
    		document.getElementById('nbArticle').innerHTML = nbArticle;
    	sommeTotal(prix);
    }
     
    //Attention fonction adaptée pour chercher l'id /!\
    function isInArray(MyArray,MyValue) {
    	var valueFound = false;
    	var nbItem = MyArray.length ;
    	for (var i = 0; i < nbItem && !valueFound; i++){
        	valueFound = MyArray[i][0] === MyValue;
    	}
    	return valueFound;
    }
     
    function sommeTotal(prix){
        somme += parseInt(prix);
    	document.getElementById('somme').innerHTML = somme;
    }
     
    </script>
    </head>
     
    <body>
    <div id="bloccadre1">
    <span id="lstArticle"></span>
    Nombre article = <span id="nbArticle"></span><br />
    Somme = <span id="somme"></span><br />
    </div>
     
    <a href="#" onclick="addCaddie(1,'140','t-shirt')">t-shirt</a>
    <a href="#" onclick="addCaddie(2,'200','pantalon')">pantalon</a>
    </body>
    </html>

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    Décidément le chomeur j'ai souvent à faire a toi (erreur de rollover il y à qq jours) et je tient encore une fois à te remercier de ton aide je vais analyser ton script et sourtout essayer de le comprendre ;

    Big merci ,

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Je t'en pris
    Bonne continuation

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    Waoooo ,

    Il se passe trop de truc j'essaye de comprendre le code et je galère un peu -Serai t-il possible si tu as le temps de le commenter afin d'éclairer ma lanterne.

    -Dans ton exemple si je clic sur pantalon ca met :
    pantalon
    Nb article :1
    puis je clic sur t-shirt ca met :
    pantalon
    t-shirt
    Nb d'article :2

    Est ce qu'il est possible de faire ?
    pantalon : 1
    t-shirt : 1

    En tout cas merci encore une fois pour ton aide.

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Alors commentaires :

    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
     
    //Déclaration des variables globales
    var Article = new Array(); //Contiendras tous les articles
    var nbArticle = 0 ; //Compte les articles au fur et à mesures ( plutot que de faire un Article.length
    var somme = 0; // ça parle d'elle même
     
    //Fonction permettant d'ajouter un article, prend 3 paramètres ( l'id , le prix et la désignation ... )
    function addCaddie(id,prix,designation){
    	//On commence par vérifier si l'id de l'article ne se trouve pas déja dans le caddie
    	if(!isInArray(Article,id)){
    		//Sinon on ajoute l'article dans le caddie
    		Article[Article.length] = new Array(id,prix,designation);
    		//On créer un nouveau span pour indiquer quel articles on a dans notre panier
    		tempSpan = document.createElement('span'); //création
    		texte = document.createTextNode(designation); //création d'un noeud texte
    		tempSpan.appendChild(texte); //on ajoute le noeaud dans le spans
    		tempSpan.setAttribute("id",id); //on affecte un id a cette span :)
    		document.getElementById('lstArticle').appendChild(tempSpan); //on ajoute l'article au caddie ( dumoins dans la div ;) )
    		br = document.createElement('br'); // un saut de ligne
    		document.getElementById('lstArticle').appendChild(br); //on ajoute ce saut de ligne ...
    	}
    	nbArticle++; //dans tous les cas on ajoute un article
    		document.getElementById('nbArticle').innerHTML = nbArticle; //on met a jour l'affichage du nb d'article
    	sommeTotal(prix); //on ajoute le prix de l'article ajouté a la somme
    }
     
    //Attention fonction adaptée pour chercher l'id /!\
    //Fonction permettant juste de savoir si l'article est déja dans le cadie
    function isInArray(MyArray,MyValue) {
    	var valueFound = false;
    	var nbItem = MyArray.length ;
    	for (var i = 0; i < nbItem && !valueFound; i++){
        	valueFound = MyArray[i][0] === MyValue;
    	}
    	return valueFound;
    }
     
    function sommeTotal(prix){
        somme += parseInt(prix);
    	document.getElementById('somme').innerHTML = somme;
    }
    Est ce qu'il est possible de faire ?
    pantalon : 1
    t-shirt : 1
    Oui , pour cela il faut cependant faire une modification , et ajouter un 2 eme tableau associant [idArticle][nbarticle] tu incrémentes a chaques fois nbarticle lorsque tu ajoutes un nouvel article ...

    je vais te laisser chercher pour ça, ce n'est pas très compliqué , en te basant sur le code au dessus et en travaillant un peu
    Bon courage

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    En tout cas you're the
    Merci pour tous ces précieux renseignements .

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

Discussions similaires

  1. besoin d'aide cherche codeur pour seaskulls
    Par blancotiger dans le forum Projets
    Réponses: 6
    Dernier message: 30/07/2007, 09h36
  2. Réponses: 2
    Dernier message: 13/06/2007, 11h03

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