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 :

[AJAX] Liste avec si select "autre" ouvre un div pour ajouter option


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 55
    Points
    55
    Par défaut [AJAX] Liste avec si select "autre" ouvre un div pour ajouter option
    Bonjour,

    Je me présente : William, Infirmier en anesthésie.

    Suite à une demande médicale de notre département d'anesthésie, Laurent, un collègue infirmier anesthésiste et moi même, ayant tous 2 les connaissance nécéssaires, avons developper un site internet :

    http://www.dar-saint-louis.fr

    Nos connaissances se limitent à : xhtml/css/php/mysql

    Or depuis le developement de ce site et d'un back office sécurisé pour en gerer certaines parties, d'autre projet se greffent dessus.

    Pour le moment je suis chargé d'un projet d'informatisation de consultations d'anesthésie.

    Or je suis confronté à un problème :
    Sur certaines liste dans un formulaire, il doit etre possible de pouvoir ajouté des options qui s'enregistreront dans la liste et devriendrons selectionnables.

    Rien de vaut un exemple :
    Liste Allergie :
    Pollen
    crustacé
    pénicilline
    .....
    Autre
    Il faudrait que si l'anesthésiste selectionne "Autre", Un div s'affiche permetant d'enregistrer les informations nécéssaires dans la bdd (donc un type d'allergie non présent dans la liste) et qu'une fois l'enregistrement fait, il puisse retrouver dans la liste le nouvel enregistrement qu'il vient de creer et le selectionne.
    Le tout sans recharger la page.
    Sachant qu'il y aura beaucoup de liste de ce type dans cette page.

    D'après les recherche que j'ai put faire, la solution viendrait d'AJAX.
    Mais comme vous pouvez le deviner dans les compétence que nous possédons, il n'y a ni l'AJAX, ni le javascript.

    Je dois donc avouer que je ne sais pas faire.

    Malgrès pas mal de recherche, j'ai trouvé plein d'info sur les listes et les formulaires en ajax, avec notemment comment lier des listes ...
    Mais helas aucune infos sur ce que je souhaite faire.

    Donc j'ai plusieures question :
    - Est-ce faisable (je pense que oui, mais bon on ne sait jamais) ?
    - Est-ce que je m'oriente bien en cherchant du coté de AJAX pour la solution ?
    - Avez vous des liens à me donner qui pourrais m'aider dans ce problème ?
    - Eventuelement pouvez vous m'expliquer comment réaliser cet ajout en cas de selection de autre ?

    Merci deja d'avoir lut ce long message.

    Et merci d'avance de l'aide que vous pourrez m'apporter.

    Cordialement
    William (un infirmier qui à hate de vous lire ).

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    je vous ai envoyé un MP

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    il faut creer une div contenant une text box de classe hidden, celle-ci devient visible lors du choix autre et ainsi l'on peut rajouter des informations qui seront intégrer dans ta base lors de la validation. Ta div redeviendra invisible aprés le validation. j'ai deja fait ça avec un affichage de bouton radio.

    une partie du code en exemple.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     balise("DIV id='div_stage' width='$width' style='float:left' Class='radio Hidden' ");	
     
       	$formulaire->generate_input_field("RADIO","sortie",array('id'=>"lundi",'onclick'=>"mise_jour();",'value' =>  "Lundi"));	
        echo"Lundi<br>";

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     if (jtype == 'Stage')
    	 {
    	document.getElementById('div_stage').className='radio';
                  }
    	  else
    	     {
    	    document.getElementById('div_stage').className='Hidden';

    juste pour donner la base
    bonne chance

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    j'ai réussit à faire apparaitre la box si "autre" est sélectionné dans la liste select (bon j'avoue on m'as beaucoup aider sur ce coup la).

    Par contre ce que je n'arrive pas à faire c'est à faire traiter par php la nouvelle variable et recharger la liste sans recharger la page. Traitement php : insert nouveau champ dans la table. Puis rechargement de la liste.

    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
    script>
                    function la_valeur_a_changer(sel) {
                            if (sel.options[sel.selectedIndex].value == "-1") {
                                    document.getElementById('c1').style.display = 'inline';
                            } else {
                                    document.getElementById('c1').style.display = 'none';
                            }
                    }
                    window.onload = function() {
                            document.getElementById('c1').style.display = 'none';
                    }
                    </script>
            </head>
            <body>
                    <select id="l1" name="l1" onChange="la_valeur_a_changer(this)">
                            <option value="1">Pomme</option>
                            <option value="2">Peche</option>
                            <option value="3">Poire</option>
                            <option value="-1">Autre...</option>
                    </select>
                    <input type="text" name="c1" id="c1" />
    <?php
    avez vous une idée svp?


    P.S : sachant que je ne connait rien à java mais que je me débrouille en html/css/php/mysql.

    Merci d'avance.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 40
    Points : 39
    Points
    39

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 55
    Points
    55
    Par défaut
    C'est bon, j'ai trouvé la solution :

    http://www.dar-saint-louis.fr/test.php

    Par contre vu la longueur de certaines liste, ton lien sur l'autocomplétion m'interesse beaucoup.

    merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/05/2010, 18h22
  2. [STRUTS] liste d'un forumaire avec pré selection
    Par haderach dans le forum Struts 1
    Réponses: 4
    Dernier message: 17/03/2006, 12h10
  3. rafraichir une liste avec un <SELECT>
    Par karibouxe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/02/2006, 09h05
  4. Formulaire avec liste basée sur une autre table
    Par sabotage dans le forum Langage SQL
    Réponses: 6
    Dernier message: 10/08/2005, 13h43
  5. pb d'insertion avec un SELECT sur une autre table
    Par epeichette dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 22h58

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