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 :

cacher/afficher un champ


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut cacher/afficher un champ
    Bonjour tous le monde

    Je planche sur un probleme que je n'arrive pas à resoudre. voila j'ai un probleme avec un module de paiement oscommerce pour les cartes cofinoga



    Je cherche a caché les champs (Propriétaire, Sélectionné les mensualités, etc ) et les faire apparaitre que si le module est selectionné.

    donc j'ai essayer ce code mais sans succes.

    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
           $montants_array[] = array('id' => $un_montant, 'text' => $un_montant);   
            }  
        } 
        //compteur d'enregitrements 
        $i++; 
    }//fin while 
    //afficher la mensulaité en cours  
     
    if ( onClick=checked($this->enabled == false)
     
     $selection = array('id' => $this->code,
                             'module' => $this->title,
                             'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER,
                                                     'field' => tep_draw_input_field('cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])),
                                              array('title' => MODULE_PAYMENT_CC_TEXT_MENS,
                                                    'field' =>  tep_draw_pull_down_menu('cc_mens',$montants_array, $mens_selected)), 
                                               array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_NUMBER,
                                                     'field' => tep_draw_input_field('cc_number')),
                                               array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES,
                                                     'field' => tep_draw_pull_down_menu('cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('cc_expires_year', $expires_year))));
     
     
          return $selection;
        }

    merci d'avance

  2. #2
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Bonsoir, avec un peu de javascript, c'est possible.

    Lorsque l'on va cliquer sur le bouton radio de carte cofinoga, les champs doivent apparaitre, c'est ça.

    donc, tu mets tes champs dans une div comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /** Sur le bouton radio */
    <input type="radio" name="" onclick="javascript:Montrer();" />
     
     
    <div id="invisible" style="display:none;">
      Proprio : <input type="text" name="" />
      Select mensualité : <input type="text" name="" />
    </div>
    ensuite le code javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function Montrer()
     {
       document.getElementById('invisible').style.display = "block";
     }
    Et voilou.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    merci mais j'ai un petit probleme

    le onclick est deja effilier a une valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="selectRowEffect(this, ' . $radio_buttons . ')"
    de plus mon code est en php.

    merci

  4. #4
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par badibad Voir le message
    merci mais j'ai un petit probleme

    le onclick est deja effilier a une valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="selectRowEffect(this, ' . $radio_buttons . ')"
    de plus mon code est en php.

    merci
    C'est pas grave, tu rajoute après ton selectRowEffect comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    onclick="selectRowEffect(this, '.$radio_buttons.'); Montrer()"
    J'ai ajouté ce qui est en rouge.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut merci
    merci de ton aide bon je ne comprend pas j'ai l'erreur suivante


    la page radio
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/ddddd/cc.php on line 128
    voici mes codes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
        if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) {
          echo '                  <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, '.$radio_buttons.'); Montrer()">' . "\n";
        } else {
          echo '                  <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, '.$radio_buttons.'); Montrer()">' . "\n";
        }
    ?>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                </td>
                        <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                      </tr>
                      <div id="invisible" style="display:none;">
      Proprio : <input type="text" name="" />
      Select mensualité : <input type="text" name="" />
    </div>

    puis dans le paiement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $selection = array('id' => $this->code,
                             'module' => $this->title);
     
     
          return $selection;
        }
    fonction Montrer(){
       document.getElementById('invisible').style.display = "block";
     }

    donc je suis un peu perdu en tous cas merci de ton aide c'est sympa.

  6. #6
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Php te dis que l'erreur est à la ligne 128 de ton fichier cc.php.
    Alors regarde à cette ligne.

    Un sujet la dessus :
    http://www.developpez.net/forums/d14...or-t_function/


    Cependant, il me semble que la fonction que je t'ai donné et dans un fichier PHP ? Attention, c'est une fonction JS, donc elle doit être dans un fichier .js.

    Ensuite, tu appelles ce fichier comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /** Dans le code HTML */
    <script type="text/javascript" src="ton_fichier.js"></script>
    A voir

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    merci

    la ligne 128 me montre cette ligne

    c'est pour ca que je ne comprend pas

  8. #8
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Regarde mon post au dessus et tu comprendras.

    La fonction est une fonction javascript et non pas php.

    En plus, c'est pas fonction, désolé, c'est function

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    en effet j'ai bien un fichier js nommée checkout_payment.js

    donc je l'ai rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function rowOutEffect(object) {
      if (object.className == 'moduleRowOver') object.className = 'moduleRow';
    }
    fonction Montrer(){
       document.getElementById('invisible').style.display = "block";
     }
    //--></script>
    <?php echo $payment_modules->javascript_validation(); ?>
    Mais rien n'y fait j'ai toujours la même erreur

  10. #10
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par badibad Voir le message
    en effet j'ai bien un fichier js nommée checkout_payment.js

    donc je l'ai rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function rowOutEffect(object) {
      if (object.className == 'moduleRowOver') object.className = 'moduleRow';
    }
    fonction Montrer(){
       document.getElementById('invisible').style.display = "block";
     }
    //--></script>
    <?php echo $payment_modules->javascript_validation(); ?>
    Mais rien n'y fait j'ai toujours la même erreur
    Attention, c'est pas fonction Montrer() mais function Montrer()

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    oui en effet faut que j'arret la picole

    ca va mieux mais le problème c'est que le champ s'affiche sur tous les boutons et moi je voudrais qu'il s'affiche que quand le client clique sur le bouton radio correspondant au paiement carte cofinoga.

    merci

  12. #12
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Il faut que tu mettes le onclick="ta_fonction(); Montrer()" sur le input radio correspond à cofinoga et c'est tout.

    Sur les autres tu mets un onclick="ta_fonction(); Cacher()".
    fonction Cacher() ci dessous à mettre dans le js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function Cacher()
      {
        document.getElementById('invisible').style.display = "none";
      }

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    ok merci je vais essayer demain (trop fatigué) j'arrive plus a reflechir

    Bon j'ai regarder ce main ca ne peut pas marcher car j'ai que deux ligne pour le onclick

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
        if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) {
          echo '                  <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, '.$radio_buttons.'); Montrer()">' . "\n";
        } else {
          echo '                  <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, '.$radio_buttons.'); Montrer()">' . "\n";
        }
    ?>
    merci

Discussions similaires

  1. Formulaire HTML5, cacher ou afficher des champs
    Par darkman19320 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/08/2014, 09h00
  2. Cacher et afficher des champs
    Par newty dans le forum jQuery
    Réponses: 3
    Dernier message: 03/08/2010, 09h29
  3. afficher un champ d'une autre table, Help!
    Par chakan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/03/2004, 23h20
  4. Afficher 2 champs
    Par Pascal dans le forum Bases de données
    Réponses: 10
    Dernier message: 20/02/2004, 20h42
  5. [CR] Afficher un champs lié à un champs d'une autre table
    Par Madduck dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/09/2003, 11h48

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