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 :

mise à jour de champs en fonction d'une liste déroulante


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut mise à jour de champs en fonction d'une liste déroulante
    bonjour,

    j'ai réalisé un petit formulaire contenant une liste déroulante ainsi que plusieurs champs.

    Lorsque je sélectionne un élément de la liste déroulante, il faudrait que s'affiche dans mes autres champs les infos correspondantes de la base de données.

    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
     
     
    $sql  = " select *, tache_id as id, tache_nom as label "; $sql .= " from k2prjtache LEFT JOIN k2users ON tache_developpeur_assigne = usrid";
    $sql .= " WHERE 1=1 " ;
    $sql .= " order by label";
    $Q = mysql_query($sql);
    if (! $Q ) DbError($sql);
    $R = mysql_fetch_array($Q);
     
    <form method=post action='$_SERVER[PHP_SELF]' name=form_superviseur id=form_superviseur>
        <input type=hidden name=Action value="tch">
        <input type=hidden name=Etape value="validerSuiviSuperviseur">
        <input type=hidden name=prj_id value="$id">
        <input type=hidden name=tache_prj_id value="$id">
        <input type=hidden name=tache_usr_id value="$usr_id">
        <input type=hidden name=tache_id value="$R[tache_id]">
     
        <table border=0>
        <tr>
            <td>
                <table>
                <tr><td>Nom de la tache : 
                    <td><select size=1 name=tache_nom id=tache_nom onchange="document.getElementById('tache_nom').options[document.getElementById('tache_nom').selectedIndex].text;">                
                    $tache_nom
                    </select></td></tr>
                <tr><td>Description : 
                    <td><textarea name=tache_description id=tache_description value="">                               
                    </textarea></td></tr>
                <tr><td>Etat de la tache : 
                    <td><input type=text name=tache_etat id=tache_etat value="$R[tache_etat]"> 
                    </td></tr> 
                <tr><td>Commentaire : 
                    <td><textarea name=tache_rem id=tache_rem value="$R[tache_rem]">                               
                    </textarea></td></tr>
                <tr><td>Date : 
                    <td><input type=text name=tache_date id=tache_date value="$R[tache_date]"> 
                    </td></tr>                                    
                <tr><td>Temps :
                    <td><input type=text name=tache_temps id=tache_temps value="$R[tache_description]">
                    </td></tr>
                <tr><td>Personne assignée :
                    <td><input type=text name=tache_developpeur_assigne id=tache_developpeur_assigne value="$R[nom]">
                    </td></tr>
                <tr><td>Statut :
                    <td>$statut
                    </td></tr>   
                </table>
                <br />
     
                <br /><br />
                <input type=submit value='enregistrer'>
            </td>
     
        </tr>
        </table>
        </form>
    Je pense que je dois rajouter quelque chose dans le value de chaque champs mais en fait je ne sais pas quoi. Car là ce que je fais dans mon select je ne fais juste que récupérer quelque chose mais je n'en fais rien.Avez-vous une petite idée.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    Il est bizarre ton code. Pas de balises ouvrante fermante pour le php

    Tu peux sérialiser les infos dans le value et après le récupérer en faisant un split lors de l'évènement "onchange" de ta balise select.

  3. #3
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    ouep, pour les balises fermantes et ouvrantes c'est normal. Une instruction me permet de ne pas les mettre.

    Par contre je n'ai pas trop compris l'instruction que tu me conseillais. Pourrais tu me donner un petit exemple s'il te plait?

    Merci d'avance.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    Tu peux faire ce genre de chose :

    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
    <script>
      function charge_form(objet)
      {
    	if(objet.value)
    	{
    	    var tabvaleur = objet.value.split('&');
    	    for (var i in tabvaleur)
    	    {
    	      document.getElementById('inp'+(1 + parseInt(i))).value = tabvaleur[i];
    	    }
    	}
      }
    </script>
     
    <select onchange="charge_form(this);">
      <option value="">(rien)</option>
      <option value="valeur1&valeur2&valeur3">Mon premier option</option>
      <option value="valeur4&valeur5&valeur6">Mon second option</option>
    </select><br />
    <br />
    Input1 <input id="inp1" value="" /><br />
    Input2 <input id="inp2" value="" /><br />
    Input3 <input id="inp3" value="" />

  5. #5
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Comme mes champs ne sont pas du type nom+chiffre mais que des noms différents n'y a t'il pas moyen d'appliquer cela à tout le formulaire. En tout cas j'ai testé cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('form_superviseur').value = tabvaleur[i]
    Mais cela ne fait rien du tout. Car mes nom de champs c'est tache_descrition, tache_no,tache_rem,...

    Merci encore.

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    formulaire.elements[nomduChamp]
    ...

Discussions similaires

  1. Cacher un champs en fonction d'une liste déroulante
    Par mlle.asmae dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/07/2015, 19h54
  2. [11g] Mise à jour de table en fonction d'une autre
    Par bernards111 dans le forum SQL
    Réponses: 2
    Dernier message: 11/03/2013, 17h19
  3. [AC-2010] Mise à jour des champs en fonction d'une valeur
    Par mathmath99 dans le forum IHM
    Réponses: 1
    Dernier message: 21/01/2013, 14h54
  4. [AC-2007] Actualisation des champs en fonction d'une liste déroulante
    Par cool17 dans le forum IHM
    Réponses: 2
    Dernier message: 05/04/2010, 20h31
  5. [AC-2007] Mise à jour des champs (pas null) d'une table vers une autre table
    Par Daniel-Gérald dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/11/2009, 11h27

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