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 :

Remplir une zone de texte par rapport à une checkbox


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Remplir une zone de texte par rapport à une checkbox
    Bonjour tout le monde,

    J'ai un formulaire (cf: piece jointe) :

    Introduction à la pharmacognosie est une zone de texte remplie par la liste déroulante qui se trouve à côté.

    J'aimerais maintenant que par rapport à la valeur de la zone de texte (cette zone de texte se nomme CI1), quand on appuie sur le checkbox TH ou TP, ou EX qu'un nombre apparaîsse.

    Il serait différent par rapport au cours choisi.

    1. Le visiteur choisi un cours avec la liste déroulante, la zone de texte se remplie. (FAIT avec ce code javascript) : Merci à Hug0_76

    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
    <HEAD>
    <script type="text/javascript" language="javascript">
    function maj() {
    t = document.getElementById('CI1');
    s = document.getElementById('select4');
    t.value = s.options[s.selectedIndex].value;
    }
    
    
    	  <script language="javascript">
    	  s = document.getElementById('select4');
    	  val = s.selectedIndex.value;
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script language="javascript">
    	  t = document.getElementById('textarea');
    t.value = val;
    </script>


    2. Quand le visiteur clic sur la checkbox Th
    Select case la valeur de Zone de texte (CI1)
    case Cours1
    5
    case Cours2
    3
    end select

    Pour cela j'ai ce code : merci à Pymm

    Dans <head> </head>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language="javascript">
    var tab_BIOLJ201=new Array
    tab_BIOLJ201["TH"]=0;
    tab_BIOLJ201["TP"]=0;
    tab_BIOLJ201["EX"]=0;
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script language="javascript">
    function rempli_tab(){
    switch(document.getElementById('CI1').value{
    case 'Introduction botanique à la pharmacognosie...' :
    if(document.getElementById('cbCI1TH').checked{
    tab_BIOLJ201["TH"]=5;
    C'est ici que ça doit être incorrect
    ECTSCI1TH = tab_BIOLJ201["TH"];
    }else{
    tab_BIOLJ201["TH"]=0;
    }
    ici j'ai essayé d'ouvrir une fenêtre d'alerte pour connaître la valeur de la variable, mais ça ne fonctionne pas.
    alert ("la valeur de th est de " + tab_BIOLJ201["TH"]);
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="cbCI1TH" value="checkbox" align="middle" onBlur="rempli_tab()" >
    Ce qui est important est que je devrai ensuite récupérer les données des zones de texte dans une base de données.

    Je n'ai malheureusement aucun résultat excepté la valeur de la liste déroulante qui se met bien dans la zone de texte nommée CI1.

    La checkbox s'appelle cbCI1TH.
    La zone de texte qui doit réceptionner la valeur de la checkbox par rapport au nom du cours s'appelle ECTSCI1TH.

    C'est quand je clique sur cette checkbox que la valeur de tab_BIOLJ201["TH"] n'apparaît pas.

    Merci d'avance pour votre aide.

    beegees

  2. #2
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut ?????
    Salut,

    Euh....je n'ai pas tout compris!
    En fait pour la selection du cours ca va mais après j'ai laché!
    Lorsque ton utilisateur va cliquer sur un checkbox tu veux que du texte apparaisse à coté de l'intitulé du cours c'est ca????
    Genre :

    Je choisi avec le <select> l'option BIOL-J-2001, ensuite dans la zone de texte à droite il s'affiche : Introduction Botanique à la pharma......
    puis lorsque que je choche une case tu veux qu'un chiffre appraisse à coté de
    Introduction Botanique à la pharma......????



    Ton case ne peux pas fonctionner, un case tu test soit un entier soit un caractère seul....

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Salut Hug0_76,

    Merci pour ta réponse.

    Lorsque ton utilisateur va cliquer sur un checkbox tu veux que du texte apparaisse à coté de l'intitulé du cours c'est ca????
    Non, j'ai une zone de texte nommée ECTSCI1TH qui se trouve à côté de TH dans la collone ECTS (voir piece jointe de mon premier post ).

    Là où il y'a marqué ICI, quand je coche sur la checkbox, il faut vérifier le nom du cours et mettre le nombre d'ECTS correspondant.

    Qu'en penses-tu ?


    Merci pour ton dévouement.

    bgs

    Ps: ne tiens pas compte de la checbox checed (EX) c'est une erreur

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    j'ai regardé une minute complète et je n'ai pas vu le mot "ICI";

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par javatwister
    j'ai regardé une minute complète et je n'ai pas vu le mot "ICI";
    Un modérateur a édité mon message et n'a retenu que la première image, celle où il y'a le mot ici peut être vue via ce lien :

    http://164.15.112.38/ci2.jpg

    A bientôt
    bgs

  6. #6
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Un super grand merci à toi Hug0_76,

    Je vais tester ce que tu m'as envoyé et je te recontacte.

    Encore un grand merci.

    bgs

  7. #7
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut Js
    Ok ok,

    bon déjà il te faut un tableau comme j'ai pu appercevoir dans ton premier post!

    Toutes les matières que tu as dans ton select possède un certain nombre de crédits ECTS??? C'est ca??

    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
    <script type="text/javascript" language="javascript">
    
    /** Tu créer un tableau de taille = nombre d'élément de ta balise <select>, 
    *    pour faciliter la mise à jour tu créer un tableau avec la taille courante de 
    *    ta balise <select> en récupérant le nombre d'éléments.
    */
    
    var s = document.getElementById('select4');
    var taille = s.length;
    
    var matiere = new Array(taille);
    
    /** Tableau correspondant aux crédits ECTS dans l'ordre par rapport à ta  
    *    balise <select>.
    *
    *    2 = nb de crédits pour la matière de ton premier <option>
    *    4 = nb de crédits pour la matière de ton deuxième<option>
    *    etc....
    */
    var credits = new Array(2,4,3,1,5,3,....);
    
    
    /** Fonction vu hier */
    function maj() {
    ...
    }
    
    /** Fonction qui va initialiser ton tableau matière,
    *    Tu vas utiliser un tableau indicer sur tes noms de matières,
    *    Exemple : 
    *        matiere['BIOL-J-201'] = credits[n];
    *    Ensuite tu utilises le tableau "credits" pour faire correspondre tes matières *    avec les crédits.    
     */
    function init() {
    i = 0;
    
       for(i = 0; i < taille; i++) {
               matiere[s.options[i].value] = credits[i];     
       }
    }
    
    }


    Maintenant lorsque que tu cliques sur un checkbox il ne te reste plus qu'a aller chercher dans ton tableau les crédits ECTS en fonction de ta matière.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /** Fonction à placer à la suite de init() */
    
    function maj_checkbox() {
    i = document.getElementById('id_de_ton_input_text');
    s = document.getElementById('select4');
    i.value = matiere[s.options[s.selectedIndex].value];
    }

    Pour rendre actif tes checkbox tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" onClick="maj_checkbox()">
    voila voila en gros!
    Bon je ne sais pas si toutes mes syntaxe sont bonnes mais en tout cas ca devrait marcher à moins que j'ai fais une erreur d'algo!

  8. #8
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par Hug0_76
    Ok ok,

    Toutes les matières que tu as dans ton select possède un certain nombre de crédits ECTS??? C'est ca??
    Oui exactement, chaque matière à un nombre de crédit et chaque matière peut être du TH, du TP ou EX.

    BAT.

    beegees

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 24/01/2010, 07h40
  2. Effacer une zone de text par l'intermediaire d'un bouton
    Par claire_cartier dans le forum GTK+ avec C & C++
    Réponses: 25
    Dernier message: 18/04/2007, 15h59
  3. Redimensioner photo par rapport à une zone
    Par alyphe dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/03/2007, 17h44
  4. Réponses: 2
    Dernier message: 05/06/2006, 17h51
  5. Réponses: 9
    Dernier message: 26/04/2004, 21h51

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