Alimenter une zone texte à partir d'une zone déroulante

Signaler
Messages postés
68
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
1 décembre 2012
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour à tous et surtout, BONNE ANNEE
Après de nombreux essais je me résigne à faire appel à l'équipe du net.
En fait, j'essaie d'alimenter une zone de texte par l'intermédiaire d'une liste déroulante elle même alimentée par un select en sql.
J'ai pu récupérer la fonction js via les tutoriaux qui normalement permet la mise à jour de la zone texte.
<SCRIPT>
 <select name="nomprenom" onchange="this.form.elements['email'].value=this.options[this.selectedIndex].value">
</SCRIPT>


Voici mon formulaire de test:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Test</title>
</head>
<!-- Fond d ecran-->

  

 <table border="0" cellpadding="0" cellspacing="0" width="800" height="600">
  <!-- MSTableType="layout" -->
  <tr>
   <td valign="top" height="600" width="800">
<form action ="ticket_enregistre.php" enctype="multipart/form-data" method="post">
<!-- Liste deroulante nomprenom -->
<select name="nomprenom">
  <?php
     include("users.inc.php");
       $liendb = mysql_connect($host,$user,$pws);
       mysql_select_db ($database);    
       $SQL = "SELECT nomprenom, email FROM users order by nom";
       $res = mysql_query($SQL);
     while($val=mysql_fetch_array($res))
 {
     echo "<option>".$val["nomprenom"]."</option>\n";
    }
  ?>
</select> 
<!-- Zone texte email-->
  
<!-- Fichier attache -->
 


<!-- Bouton Envoyer vers DB SQL Ticket --> 
 

  
 

<!-- Bouton clear Gauche -->
 

  &nbsp;
 

</form>

</html>


Pouvez-vous me guider et me dire ou je dois placer ce bout de code car j'ai essayé plusieurs endroits mais sans résultats.
Entre les head, après ma zone texte, etc.....


Pouvez-vous aussi me confirmer que ce bout de code est suffisant pour la mise à jour de ma zone texte ?


Merci pour vos indications et aide, j'en ai bien besoin du fait que je suis débutant dans le domaine.
A bientôt

3 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
bonjour,

tu nous mets du php, c'est bien, mais comme on n'a pas ta
    base de données... on devine comment ce que ça génère ?
    il faut poster la page html résultante ! pas le php !
et... où doit-on mettre le text sélectionné ?
j'ai supposé dans email, mais je doute...

    <select name="nomprenom"
               onchange="document.getElementById('email').value=this.options[this.selectedIndex].text;">

et attention, comme le select n'a pas de size, la 1ère option est sélectionnée
par défaut, donc pour afficher, il faudra d'abord cliquer sur une autre option

encore une question ? ça va servir à quoi, à part afficher ?

Cordialement

          [mon Site] [M'écrire] Bul         
Messages postés
68
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
1 décembre 2012

Bonjour Bul3,

Cette page est un extrait de mon formulaire qui se prénomme index.php ce qui permet d'exécuter ma page automatiquement via xamp. Il n'y a donc pas toutes les zones et pas de page résultante puisque je désire maintenir la même page.
En fait j'ai créé un formulaire d'encodage d'intervention avec fichier attaché.
Le principe est qu'un utilisateur, via un lien intranet, encode une série d'informations nécessaires à l'organisation de nos interventions.
Cette page fonctionne très bien si j'associe des selects à chaques zones déroulantes. ( Ce n'est que du php ) Mais je trouve idiot d'obliger la personne à sélectionner son nom, email,tél,service,etc alors que j'ai toutes ces infos dans la DB SQL.
DB : USERS
Tables : Users
Champs : nom,prenom,tél,email,etc...
J'ai déjà lu quelques une de vos réponses sur ce forum suite à des questions identiques. Vous avez aussi souvent placé des liens exemples mais malheureusement, bcp de liens ne sont plus actifs. Je suis trop novice que pour comprendre correctement les réponses et surtout les appliquer dans ma page.  Je sais juste que je dois utiliser du JS pour effectuer une maj de zone dans la même page. onchange...
Ce qu'il fait que j'ai pris un extrait de mon script et un extrait trouvé dans un forum en JS afin d'être dans les meilleures conditions possibles pour comprendre.
Pour cet exemple de code, j'ai  la zone déroulante "NOM" avec un select dans la db "Users" . Jusque là, c'est ok, elle est alimentée. En second plan, j'ai ajouté une zone texte " EMAIL " qui doit être alimentée suite à la selection de la zone déroulante "NOM".
En final, le Submit fait appel à une page php qui va effectuer un Insert dans ma Db.
Page que je n'ai pas copier ici car mon problème se situe sur mon formulaire index.php.
Pour répondre à la dernière question, après affichage de mes zones, j'effectue un insert dans une DB qui me donnera des résultats à traiter.

Si vous avez une idée pour m'aider.....
Bien à vous
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
le principe est là :
  onchange="où afficher=this.options[this.selectedIndex].value ou .text"

>>...me donnera des résultats à traiter.
bah, dans ce cas si c'est pour transmettre vers le php,
c'est inutile. le value de l'option sélectionnée est transmis au php
si ce select a un name

<select name="toto"....
   <option value="aaa">un
   <option value="bbb">deux...
et le php traitera $_POST['toto'] qui sera = "aaa" si c'est la 1ère option qui est sélectionnée.

          [mon Site] [M'écrire] Bul