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 :

une option qui ajoute un bouton, qui ajoute un message


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut une option qui ajoute un bouton, qui ajoute un message
    bonjour,
    voila mon probleme,
    je voudrais, lors de la selection d'une liste deroulante(et suivant l'option choisie...) ajouter 2 boutons radios, qui, lors du choix du bouton, m'indique, suivant le bouton choisi, un message ou un autre.
    pour info, lorsque je decommente le "if(1==1)" , mon systeme fonctionne
    j'ai essayé plusieurs façons(radio, checkbox, avec le name, la value, etc...), mais rien ne fonctionne.....
    mais peut etre que ce principe n'est pas possible sans ajax, non?
    ou bien, creer un autre select avec un "onchange" a la place des boutons ...?

    ..... ou bien c'est une simple erreur de code ....?

    merci de votre aide, je suis un novice du js .....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if (lavaleur=="ZA"){ tot_coli=63;tot_chrono=210;}/*D*/
    if (lavaleur=="AL"){ tot_coli=48;tot_chrono=170;}/*C*/
    if (lavaleur=="DZ"){ tot_coli=28;tot_chrono=130;}/*B*/
    if (lavaleur=="DE"){ tot_coli=23;tot_chrono=90;}/*A*/
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
    	" \n <input type=\"radio\" id=\"type_colis\"  name=\"type_colis\" value=\"aa\" checked=\"checked\" >colissimo: " + ( tot_coli+la_valeur_depart ) + " &euro; \n " +
    	"<br> \n <input type=\"radio\" id=\"type_colis\" name=\"type_colis2\" value=\"aa2\" >Chronopost: " + ( tot_chrono+la_valeur_depart ) + " &euro; \n ";
    	/* if (1==1){  */	
    	if (document.getElementById.type_colis.value=="aa"){
    	document.getElementById("prix_de_base").innerHTML = 
    	+ ( tot_coli+la_valeur_depart+319 ) + "(radio) &euro;" ;	}

  2. #2
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById.type_colis.value=="aa")
    getElementById est une méthode qui nécessite le passage d'un paramètre

  3. #3
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    merci bovino, mais .....c'est a dire? ........
    ça ? =>

    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
     
    if (lavaleur=="ZA"){ tot_coli=63;tot_chrono=210;}/*D*/
    if (lavaleur=="AL"){ tot_coli=48;tot_chrono=170;}/*C*/
    if (lavaleur=="DZ"){ tot_coli=28;tot_chrono=130;}/*B*/
    if (lavaleur=="DE"){ tot_coli=23;tot_chrono=90;}/*A*/
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
     
        " \n <input type=\"radio\" id=\"type_colis\" value=\"colissimo\" >"+
        "Colissimo: " + ( tot_coli+la_valeur_depart ) + " &euro; \n " +
    	"<br> \n <input type=\"radio\" id=\"type_colis\" value=\"chronopost\" >"+
    	"Chronopost: " + ( tot_chrono+la_valeur_depart ) + " &euro; \n "; 
     
     var ma_reponse = document.getElementById("type_colis");
     if (ma_reponse.value="colissimo") {
    	document.getElementById("prix_de_base").innerHTML = 
    	"Colissimo : " + ( tot_coli+la_valeur_depart+319 ) + " &euro;" ;	}
     else if (ma_reponse.value="chronopost") {
    	document.getElementById("prix_de_base").innerHTML = 
    	"Chronopost : " + ( tot_chrono+la_valeur_depart+319 ) + " &euro;" ;	}
     	else {
    	document.getElementById("prix_de_base").innerHTML = 
    	"Choisissez un pays, SVP!";
    	}
    je m'en rapproche un peu, j'ai l'affichage pour le colissimo....
    euhhhh, finalement, que ça soit "colissimo" ou "machintruc", j'ai toujours la reponse 1 (ma_reponse.value="colissimo")

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Je te conseille de lire quelques tutoriels javascript.
    = opérateur d'affectation
    == et === opérateurs de comparaison

  5. #5
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    ... a wé, en effet, merci ! .....
    mais toujours pas ça , logique etant donné que j'ai 2 boutons :
    id=type_colis // value=colissimo
    id=type_colis // value=chronopost
    donc, sur le principe, les 2 sont forcement "true"

    c'est plutot une histoire de checked, mais je trouve pas ....
    et d'ailleurs, je peux choisir les 2 ensemble .... ce qui devrait etre impossible ....mince alors .......

    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
     
        " \n <input type=\"radio\" id=\"type_colis\" value=\"colissimo\" checked >"+
        "Colissimo: " + ( tot_coli+la_valeur_depart ) + " &euro; \n " +
    	"<br> \n <input type=\"radio\" id=\"type_colis\" value=\"chronopost\"  >"+
    	"Chronopost: " + ( tot_chrono+la_valeur_depart ) + " &euro; \n "; 
     var ma_reponse = document.getElementById("type_colis");
     if (ma_reponse.value("colissimo").checked=="checked") {
    	document.getElementById("prix_de_base").innerHTML = 
    	"Colissimo : " + ( tot_coli+la_valeur_depart+319 ) + " &euro;" ;	}
     else if (ma_reponse.value("chronopost").checked=="checked") {
    	document.getElementById("prix_de_base").innerHTML = 
    	"Chronopost : " + ( tot_chrono+la_valeur_depart+319 ) + " &euro;" ;	}
     	else {
    	document.getElementById("prix_de_base").innerHTML = 
    	"Choisissez un pays, SVP!";
    	}/* */

  6. #6
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Je n'ai pas tout lu mais sachez qu'un id doit être unique contrairement au name qui peut ne pas l'être. Or ici, vous avez deux fois l'id type_colis.

  7. #7
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    bon, j'ai essayé de simplifier et d'aérer tout ça pour y voir mieux et le probleme que j'ai localisé, c'est que, je vois mes boutons radio, ou mes checkbox ou mes inputs(j'en ai essayé plusieurs, c'est bon ...)
    mais, ils n'y sont pas dans le code source ... mais apparemment, c'est normal(je viens de voir dans un autre de mes codes que ça fait pareil, mais ça fonctionne ... donc, sa semble correct...)
    par contre, pour ce code là, il ne veut pas partir avec le post

    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
     
    function updatePrix2(source, valeur_depart, destID) {
    var lavaleur=source.options[source.selectedIndex].value;
    if (lavaleur=="FR"){ 
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
    	"Envoi gratuit en colissimo  <br> &nbsp; " ;
    	//document.getElementById("prix_de_base").innerHTML = "319 &euro;" ;	
    }/*0*/
    else if (lavaleur=="0"){ 
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
    	"(Choisir un pays // Select a country) <br> &nbsp; ";
    	//document.getElementById("prix_de_base").innerHTML = "319 &euro;" ;	
    }/*0*/
    else{
    if (lavaleur=="ZA"){ tot_coli=63;tot_chrono=210;}/*D*/
    if (lavaleur=="AL"){ tot_coli=48;tot_chrono=170;}/*C*/
    if (lavaleur=="DZ"){ tot_coli=28;tot_chrono=130;}/*B*/
    if (lavaleur=="DE"){ tot_coli=23;tot_chrono=90;}/*A*/
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    	document.getElementById(destID).innerHTML =	 
        " \n <input type=\"text\" name=\"envoi_colissimo\" value=\"colissimo\" />";
    /*   " \n <input type=\"radio\" name=\"type_colissimo\" checked=\"checked\" />"+
        "Colissimo: " + ( tot_coli+la_valeur_depart ) + " &euro; \n " +
    	"<br> \n <input type=\"radio\" name=\"type_chronopost\" />"+
    	"Chronopost: " + ( tot_chrono+la_valeur_depart ) + " &euro; \n "; */
    	} }
     
    </script>
    </td></tr><tr><td>	
    <input type="hidden" id="valeur_depart" value="0" />
    <select name="pays_recep" 
    onclick="javascript:updatePrix2(this,document.getElementById('valeur_depart').value,'aff_prix');">
    <option value="0" selected="selected" >Choisissez</option>
    <option value="FR" > - France - </option>
    <option value="ZA">South Africa</option>
    <option value="AL">Albania</option>
    <option value="DZ">Algeria</option>
    <option value="DE">Germany</option>
    </select></td><td>&nbsp;<b><div id="aff_prix" >(Choisir un pays // Select a country) <br> &nbsp; </div></b><br>
    je ne pige plus .....là.... help !!
    NOTE: ahhhhhhhh , avec ie cet exemple fonctionne !!!
    ........ hummmmmmm .......qué passa ????

  8. #8
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    bon, j'ai réussi a m'en dépatouiller ....... !!!

    j'ai changé un peu la methode, mais elle me va (de toute maniere, je confirme en php pour les prix des options, alors....)

    si ça interresse, voila vite fait le code(je continuerai a le travailler, mais pour l'instant, j'ai assez perdu de temps, et c'est que pour moi.....)

    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
     
    function updatePrix2(source, valeur_depart, destID) {
    var lavaleur=source.options[source.selectedIndex].value;
    if (lavaleur=="FR"){ 
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
    	"Envoi gratuit en colissimo  <br> &nbsp; \n" ;
    	GetId("affichage_boutons").style.visibility="hidden";
     
    }/*0*/
    else if (lavaleur=="0"){ 
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
    	"(Choisir un pays // Select a country) <br> &nbsp; \n";
    	//document.getElementById("rad_coli").disabled = "true" ;	
    	GetId("affichage_boutons").style.visibility="hidden";
     
    	//document.getElementById("prix_de_base").innerHTML = "319 &euro;" ;	
    }/*0*/
    else{
    if (lavaleur=="ZA"){ tot_coli=63;tot_chrono=210;}/*D*/
    if (lavaleur=="AL"){ tot_coli=48;tot_chrono=170;}/*C*/
    if (lavaleur=="DZ"){ tot_coli=28;tot_chrono=130;}/*B*/
    if (lavaleur=="DE"){ tot_coli=23;tot_chrono=90;}/*A*/
    var lavaleur=parseInt(lavaleur);
    var la_valeur_depart=parseInt(valeur_depart);
    document.getElementById(destID).innerHTML = 
    	"Colissimo: +" + ( tot_coli+la_valeur_depart ) + " &euro;" +
    	" &nbsp;&nbsp;&nbsp;&nbsp; " +
    	"Chronopost: +" + ( tot_chrono+la_valeur_depart ) + " &euro; \n ";
    		GetId("affichage_boutons").style.visibility="visible"; 
     
    	} }
     
    </script>
    <?php
    echo
     
            '</td></tr><tr><td>',"\n",      
            '<input type="hidden" id="valeur_depart" value="0" />
            <select name="pays_recep" 
    onclick="javascript:updatePrix2(this,document.getElementById(\'valeur_depart\').value,\'aff_prix\');">
            <option value="0" selected="selected" >Choisissez</option>
            <option value="FR" > - France - </option>
            <option value="ZA">South Africa</option>
            <option value="AL">Albania</option>
            <option value="DZ">Algeria</option>
            <option value="DE">Germany</option>
            </select></td><td>',"\n",
    //      ' &nbsp; ',
            '<b><div id="aff_prix" >(Choisir un pays // Select a country) </div>',"\n",
            '<div id="affichage_boutons" style="visibility:hidden;" >',"\n",
            '<input type="radio" name="name_du_colis" value="colissimo" checked="" />Colissimo &nbsp;&nbsp;&nbsp;&nbsp; ',"\n",
            '<input type="radio" name="name_du_colis" value="chronopost" checked="" />Chronopost',"\n",
    .....etc ....... ?>
    .....et merci pour votre aide, la communauté !!

  9. #9
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'ai quand même du mal à comprendre cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (lavaleur=="FR"){ 
    var lavaleur=parseInt(lavaleur);
    si lavaleur vaut "FR", quelle valeur numérique attends-tu ?
    Quant au fait de déclarer une variable (lavaleur) qui était déjà déclarée... c'est pas top

  10. #10
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    ... .... a oui, c'est vrai !!
    j'avais des chiffres (avec des fois aussi, des decimales) sur mon script ou j'ai piqué ma source de base ...

    merci pour la remarque !

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

Discussions similaires

  1. Bouton qui marche, mais lien qui ne fonctionne pas
    Par webgaro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 31/01/2013, 12h41
  2. Réponses: 2
    Dernier message: 05/09/2010, 17h49
  3. Ajouter une bouton qui va appeler une macro
    Par funkykid dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/05/2008, 11h12
  4. bouton qui ajoute un enregistrement dans une table
    Par petitours dans le forum Access
    Réponses: 1
    Dernier message: 06/12/2006, 13h33
  5. Réponses: 1
    Dernier message: 25/10/2006, 22h03

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