Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1197 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Liste deroulante et champs texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Liste deroulante et champs texte

n°1510362
gadu
Posté le 03-02-2007 à 09:29:38  profilanswer
 


Bonjour,  
 
j'aimerai avoir une reponse à propos d'un problème. J'ai une liste deroulante chargée à partir de la base mySql et un formulaire avec plusieurs champs textes.  
 
Je voudrais faire en sorte, lorsque je selectionne un element dans la liste deroulante, que les champs texte se remplissent à partir de la base en foncion des elements  de la liste.  
 
En quelque sorte liste deroulante et champs texte liés.
 
Merci

mood
Publicité
Posté le 03-02-2007 à 09:29:38  profilanswer
 

n°1510375
olivthill
Posté le 03-02-2007 à 10:53:11  profilanswer
 

Bonjour,
 
Le problème est que la liste déroulante (listbox) est gérée par le navigateur du coté de l'utilisateur, alors que la base de données se trouve sur le serveur. Il y a donc deux solutions.  
 
1. Soit envoyer dans la page HTML, en même temps que la listbox, les données correspondants à toutes les options de la listbox dans des éléments cachés, et les afficher par un javascript quand une option est sélectionnée.
 
2. Soit faire un submit pour que le serveur renvoie une nouvelle page contenant les données correspondant à l'option de la listbox.
 
Et pour infos, il vaut mieux utiliser l'événevement onChange de la listbox, plutôt que le onClick de chaque option.

n°1510377
gadu
Posté le 03-02-2007 à 11:03:06  profilanswer
 

Merci pour la reponse,
 
 c'est l'événement OnChange que je n'arrive pas à faire. Pour que lors de selection d'un element de la liste deroulante, les champs texte se mettent à jour automatiquement.
 
 Si tu as une idée ou un script qui peut resoudre mon problème , ça m'interesse.

n°1510399
Yanlaz
Posté le 03-02-2007 à 12:38:30  profilanswer
 

Renseigne toi sur l'ajax.
Ca se fait assez facilement ca

n°1510517
Alisteroid
Posté le 03-02-2007 à 22:01:15  profilanswer
 

Yanlaz a écrit :

Renseigne toi sur l'ajax.
Ca se fait assez facilement ca


 :jap: +1

n°1510541
gadu
Posté le 04-02-2007 à 08:58:49  profilanswer
 

je fais ça, mais les champs texte ne remplissent pas en selctionnant un element de la liste deroulante.  
 
 Je ne vois pas le problème , si quelqu'un peut m'aider  
 
Desolé, c'est la base Access que j'utilise avec php
 
 
 
<script type="text/javascript">
 
function selection()
{
 
 var lst = document.getElementById("infrast" );
 
 
 if (lst.selectedIndex  == -1)
 {  
  document.getElementById("serie" ).value="";
  document.getElementById("categorie" ).value="";
  document.getElementById("type" ).value="";
 
 }
 else
 {
  document.getElementById("serie" ).value=infrast[lst.selectedIndex]["NumSerie"];
  document.getElementById("categorie" ).value=infrast[lst.selectedIndex]["Categorie"];
  document.getElementById("type" ).value=infrast[lst.selectedIndex]["Type"];
 }
}
 
</script>
<FORM>
<?php  
   $Infrast = "select * FROM Infrastructure ";
   $ret = odbc_exec ($cnx, $Infrast);
   
   echo '<select name="infrast"  id="infrast" onChange="selection()" />';
 
 while ( odbc_fetch_row ( $ret)) {  
        $NumInfra = odbc_result( $ret, "Numinfra" );
        $NomInfra = odbc_result( $ret, "CI" );
  echo "<OPTION VALUE=".$NumInfra.">$NomInfra</OPTION>\n";      // option d'affichage
      }
      echo "</select>\n";
   
?>
       
  <TABLE BORDER=0 >
      <TR>
   <TD><b>N° série :</b></dd>
         <TD><input type="text" id="serie" name="serie" />
         
  <TD><dd><b>Catégorie :</b></dd>
         <TD><input type="text" id="categorie" name="catégorie" />
      </TR>  
   
   <TR>
   <TD><dd><b>Type :</b></dd>
         <TD><input type="text" id="type" name="type" />
</TR>
</TABLE>
 
</FORM>

n°1510547
olivthill
Posté le 04-02-2007 à 10:47:18  profilanswer
 

Le problème vient des lignes

Code :
  1. document.getElementById("serie" ).value=infrast[lst.selectedIndex]["NumSerie"];
  2. document.getElementById("categorie" ).value=infrast[lst.selectedIndex]["Categorie"];
  3. document.getElementById("type" ).value=infrast[lst.selectedIndex]["Type"];


C'est du javascript, donc exécuté sur le poste de l'utilisateur, pas sur le serveur.
La listbox nommée infrast est définie et connnue sur le poste client, mais le tableau nommé infrast n'est connu que du côté du serveur. Il faudrait transmettre le tableau infrast au client au préalable.

n°1510549
gadu
Posté le 04-02-2007 à 11:00:11  profilanswer
 

Comment faire pour transmettre le tableau nommé "infrast" au client?

n°1510769
gadu
Posté le 05-02-2007 à 05:10:34  profilanswer
 

J'ai vraiment besoin d'un aide d'urgence, car mon projet de stage est bloqué sur ce point. Je n'arrive toujours pas à savoir comment faire. SVP.

n°1510817
Alisteroid
Posté le 05-02-2007 à 10:39:36  profilanswer
 

il suffit de passer ton tableau infrast à ta fonction javascript

 

Appel :
Onchange ='selection(<?=$infrast?> )'

 

Apres il faut que tu traites ton tableau a 2 dimensions en javascript

 

Va voir ici pour l'exemple
http://www.presence-pc.com/forum/p [...] -833-1.htm

 

N'hesites pas a me contacter


Message édité par Alisteroid le 05-02-2007 à 12:53:40
mood
Publicité
Posté le 05-02-2007 à 10:39:36  profilanswer
 

n°1511230
gadu
Posté le 06-02-2007 à 08:47:20  profilanswer
 

Merci pour le conseil sebondus,
 
j'ai bien compris ton explication, mais je n'arrive toujours pas à créer un tabelau "infrast" javascript à 2 dimensions à partir  de la base de donnée en passant par php.
 
Pour la suite du code , il n'y aura pas  de problème.
 
Si tu as une idée ou un exemple pour resoudre ce problème, ça m'aidera à finir le projet.

n°1511258
nycius
Ich liebe dich !
Posté le 06-02-2007 à 10:11:22  profilanswer
 
n°1536065
Hunter44
Posté le 29-03-2007 à 20:07:48  profilanswer
 

gadu a écrit :

Merci pour le conseil sebondus,
 
j'ai bien compris ton explication, mais je n'arrive toujours pas à créer un tabelau "infrast" javascript à 2 dimensions à partir  de la base de donnée en passant par php.
 
Pour la suite du code , il n'y aura pas  de problème.
 
Si tu as une idée ou un exemple pour resoudre ce problème, ça m'aidera à finir le projet.


 
Bonjour, comme je suis un débutant en PHP et Javascript j'aimerais savoir comment tu as résolu ton problème. J'essaie de faire la même chose que toi et je bloque sur le même point. Le Tableau en JavaScript.
 
Je te remercie d'avance


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Liste deroulante et champs texte

 

Sujets relatifs
[ASP.net] Texte en diagonaleRecuperer le texte de la console
Flash Texte déroulant au survol de la souris[JAVA] Imprimer un fichier texte
Nombre vers textePrblème : 2 listes deroulante dependantes
css: varier la position en hauteur d'une bannière selon le texte.[css] décalge du texte mais pas partout.
Remplir 3 champs texte avec une liste déroulante[Acrobat] créer une liste déroulante avec champs de texte
Plus de sujets relatifs à : Liste deroulante et champs texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR