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 :

[DOM] Solution en javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 105
    Par d�faut [DOM] Solution en javascript
    Bonjour � tous,

    Je suis en train de d�velopper un site web j'ai une page qui me sert de commande direct, les clients abitu�s choisir un produit � l'aide d'un menu d�roulant, choisissent la quantit� ainsi que les atributs du produit puis font de m�me pour un autre produit si necessaire.

    J'ai fait en sorte qu'il n'y est qu'une seule ligne de produit disponible au debut, au moment ou la personne choisit un produit dans le menu d�roulant, une 2eme ligne apparait etc..

    Aussi, sur le menu d�roulant j'ai plac� un Onchange:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onChange="document.getElementById(\'directbuy\').submit()"
    Se qui me permet d'actualiser la page et faire apparaitre un second menu deroulant.

    Mon soucis est le suivant, lorsque je choisit un produit, celui est automatiquement ajout� au panier... j'aimerai que l'ajout au panier se fasse que lorsqu'e je clique sur le bouton ajouter au panier.

    On m'a conseill� de placer en javascript l'ajout d'une variable au moment du clique sur le BOUTON mais je ne sait comment faire ca...

    Je viens donc vous demander de l'aide

  2. #2
    Membre chevronn� Avatar de htr999
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2008
    Messages
    331
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 331
    Par d�faut
    salut
    d'apres moi le mieux c que tu fasses une fonction consMenuDerProd() en te servant des propri�t�s DOM. puis dans <body></body> tu d�clare des endroits o� il faudra ajouter des menu en faisant des <div>. finalement, sert-toi d'un lien et l'evenement onClick pour l'ajout d'un nouveau menu ( � voir si on veux impl�menter avec l'�venement onChange de chaque menu ... )

    voici un exemple

    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
     
    <head>
    <script>
    var nbProd=1;
    function consMenuDerProd(nb){
    	// le premier menu a le id NAME=produit1
    	// le deuxieme menu aura pour id NAME=produit2 ...
     
    	// construire dynamiquement les noeuds
    	elemSelect = document.createElement("select");
    	elemSelect.setAttribute("name","produit"+nb);
     
    	elemOption = document.createElement("option");
    	elemOption.setAttribute("value","cahierAAA");
    	text = document.createTextNode("Cahier AAA");
    	elemOption.appendChild(text);
    	elemSelect.appendChild(elemOption);
     
    	elemOption = document.createElement("option");
    	elemOption.setAttribute("value","styloBBB");
    	text = document.createTextNode("Stylo BBB");
    	elemOption.appendChild(text);
    	elemSelect.appendChild(elemOption);
     
    	elemOption = document.createElement("option");
    	elemOption.setAttribute("value","crayonCCC");
    	text = document.createTextNode("Crayon CCC");
    	elemOption.appendChild(text);
    	elemSelect.appendChild(elemOption);
     
    	// ajouter au div "lesMenus"	
    	elemDivMenus = document.getElementById("lesMenus");
     
    	elemBR = document.createElement("br");
    	elemDivMenus.appendChild(elemBR);
     
    	elemDivMenus.appendChild(elemSelect);
    }
     
    // on pourrait faire une fonction consMenuDerQuant pour la construction de quantités ...
    </script>
    </head>
    <body>
    	<form>
    		<div id="lesMenus">
    			<script>consMenuDerProd(nbProd); nbProd++;</script>
    		</div>
    		<a href="#" onClick="consMenuDerProd(nbProd);">Ajouter...</a>
    	</form>
    </body>

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 105
    Par d�faut
    Le soucis est que le menu deroulant contient +100 prduits repertori� � partir d'une bdd.

  4. #4
    Membre exp�riment� Avatar de marts
    Inscrit en
    F�vrier 2008
    Messages
    233
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 233
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <div>
    	<select onchange="this.parentNode.appendChild(this.cloneNode(true));">
    		<option value="0"></option>
    		<option value="1">un</option>
    		<option value="2">deux</option>
    		<option value="3">trois</option>
    	</select>
    </div>

  5. #5
    Membre chevronn� Avatar de htr999
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2008
    Messages
    331
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 331
    Par d�faut
    Citation Envoy� par nico341 Voir le message
    Le soucis est que le menu deroulant contient +100 prduits repertori� � partir d'une bdd.
    il suffit de faire une boucle for sur les produits mais cela d�pend de ton impl�mentation. soit t'as une BDD en fichier XML que tu parse avec docXML, tu r�cup�re les noeuds avec getElementsByTagName qui te donne un tableau en Array et la fonction devient
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
       for (i=0; i<tableProd.length; i++){
            elemOption = document.createElement("option");
    	elemOption.setAttribute("value",tableProd[i]);
    	text = document.createTextNode(tableProd[i]);
    	elemOption.appendChild(text);
    	elemSelect.appendChild(elemOption);
       }
    soit tu le fais en PHP ^^

  6. #6
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 57
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 1 163
    Par d�faut
    Tu peux cr�er dans ton formulaire un champs cach� dont la valeur sera aliment�e au click sur le bouton.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    <form id="form" name="form" method="post" action="">
        <input type="hidden" name="validation_panier" id="validation_panier" />
        <input type="submit" name="button" id="button" value="Envoyer" onclick="document.form.validation_panier.value='OK'" />
    </form>
    Ensuite avant ta requ�te SQL d'ajout au panier tu testes si la valeur de ton champs cach� est � "OK"
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    <?php if($_POST['validation_panier'] == "OK")
    {
    On effectue la requète
    }

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 105
    Par d�faut
    Cool merci beaucoup � tous , j'ai adopt� la solution de jumano qui me parrait la plus simple et ca marche niquel.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [DOM] XML+XSL: JavaScript peut-il modifier le XML? ou le DOM?
    Par maskim dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 12/12/2007, 15h05
  2. [DOM] Quotes en Javascript
    Par APoLLoN1234 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 15/06/2007, 07h35
  3. [DOM] inclure fichier javascript en javascript
    Par italiasky dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 21/05/2007, 13h29
  4. [DOM] Textarea et javascript
    Par thierryG dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 02/03/2007, 18h22
  5. [DOM] tableau et javascript
    Par franfr57 dans le forum G�n�ral JavaScript
    R�ponses: 18
    Dernier message: 20/12/2006, 16h46

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