begin process at 2012 05 24 10:11:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ColdFusion

 > 

Base de données

 > 

Autre

 > 

Affichage dynamique en fonction de la saisie utilisateur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Affichage dynamique en fonction de la saisie utilisateur

vendredi 25 juillet 2008 à 18:00:56 | Affichage dynamique en fonction de la saisie utilisateur

Timwaz

Lut à tous,

Je souhaite afficher de façon dynamique des résultats en fonction de la saisie d'un utilisateur.

Je m'explique :

Une page de mon intranet affiche la liste du personnel et leurs numéros de téléphones. Ces données sont issues
d'un base access. Toutes les personnes sont donc affichées sur ma page.

Ce que je souhaite, c'est ajouter deux zones pour l'utilisateur. Une ou il saisirait les premières lettres
du nom ou du prénom et l'autre qui afficherait de façon dynamique (au fur et à mesure de la frappe), une liste
des personnes dont le nom contient les caractères de la saisie.

En gros, je tape T dans ma premiere zone et la seconde zone se remplit avec les personnels Titi, Toto, Tata ...
sous forme de liste téléphonique (bref toutes les personnes dont le nom ou le prenom contient un t)

Ou je bloque c'est pour passer le contenu saisi dans la zone de texte  par l'utilisateur en variable utilisable
dans ma requête

<cfquery name="ListeDetFR" datasource="Access">
SELECT *
FROM Personnel
WHERE Nom LIKE '%VARIABLE = LA SAISIE DE L'UTILISATEUR%'
ORDER BY Nom ASC
</cfquery>

Je pensais utiliser pour ça une fonction javascript style et peut être un Cfloop

<script language="javascript" type="text/javascript">
function Saisie()
 {  var Sais=document.getElementById('Saisie').value; }
</script>

Mais rien à faire

Help et par avance merci

dimanche 27 juillet 2008 à 11:16:51 | Re : Affichage dynamique en fonction de la saisie utilisateur

nickadele

Membre Club Administrateur CodeS-SourceS
Bonjour,

pour passer les variables du client au serveur tu disposes de plusieurs solutions :
Via un form en mode POST ou GET
Via l'URL.

Ensuite coté serveur (ex: la valeur est transmise via la variable "saisie") :
<cfparam name="saisie" type="string" default="" />

<cfquery name="ListeDetFR" datasource="Access">
SELECT *
FROM Personnel
WHERE Nom LIKE '%#saisie#%'
ORDER BY Nom ASC
</cfquery>


Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
lundi 28 juillet 2008 à 10:45:27 | Re : Affichage dynamique en fonction de la saisie utilisateur

Timwaz

Lut et merci pour la réponse.

Donc sur le principe ça doit donner je pense quelque chose comme ça :
Mais rien à faire il ne veut pas de mon #form.saisie# ??

<cfquery name="ListeDetFR" datasource="Access">
 SELECT *
 FROM Personnel
 WHERE Nom LIKE '%#form.saisie#%'
 ORDER BY Nom ASC
</cfquery>

(...)

<cfform name="form" id="form" method="post" action="">
  <table width="800" border="1">
    <tr>
      <td width="235"><cfinput type="text" name="saisie" id="saisie" onChange=   
   "document.forms[0].submit()">
      </td>
       </tr>
  </table>
</cfform>

<cfform action="resultat.cfm?#client.URLToken#" method="post" name="resultat" target="_self" onsubmit="pageLoad_onsubmit()">

   <cftextarea name="resultat" id="resultat"></cftextarea></td>
       <cfoutput query="ListeDetFR"> </cfoutput>
</cfform>

lundi 28 juillet 2008 à 11:34:57 | Re : Affichage dynamique en fonction de la saisie utilisateur

nickadele

Membre Club Administrateur CodeS-SourceS
Re,

dans la page qui reçoit "saisie", fait un dump de la variable serveur FORM pour voir ce que le serveur reçoit.
Autre chose, n'utilises pas des noms réservés au niveau ID ou Name comme "form".
<cfform name="myform" id="myform" method="post" action="">
  <table width="800" border="1">
    <tr>
      <td width="235"><cfinput type="text" name="saisie" id="saisie" onChange=   
   "document.forms[0].submit()">
      </td>
       </tr>
  </table>
</cfform>

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
lundi 28 juillet 2008 à 11:46:23 | Re : Affichage dynamique en fonction de la saisie utilisateur

Timwaz

Cool ça marche ... presque lol

Ok je vais suivre ton conseil concernant les noms réservés et je vais modifier ça.
Dernier soucis à régler ... elle est pas trés dynamique ma page dans la mesure ou je dois valider ma saisie pour faire afficher le tableau (et je voudrais que l'affichage se fasse en cours de saisie). Peut être existe t'il un autre évenement que le onchange qui forcerait l'actualisation ou doit t'on jouer du cfloop ?

Dans tous les cas encore merci pour les conseils précédents

Cldt



La requête

<cfquery name="ListeDetFR" datasource="Access">
SELECT *
 FROM Personnel
 WHERE Nom LIKE '%#saisie#%'
 ORDER BY Nom ASC
</cfquery>

La variable

<cfset saisie=#form.saisie#>

Le reste !

<cfform name="form" id="form" method="post" action="">
  <table width="863" border="1">
    <tr>
      <td width="145"><cfinput type="text" name="saisie" id="saisie" onChange="document.forms[0].submit()"> </td>
      <td width="702">&nbsp;
        <table width="701" border="1">
          <tr>
            <td>Nom</td>
            <td>T&eacute;l&eacute;phone</td>
            <td>Portable</td>
            <td>Site</td>
          </tr>
     
 <cfform action="resultat.cfm?" method="post" name="resultat" target="_self" onsubmit="pageLoad_onsubmit()">   
          <cfoutput query="ListeDetFR" startRow="#StartRow_ListeDetFR#" maxRows="#MaxRows_ListeDetFR#">
            <tr>
              <td>#ListeDetFR.Nom#</td>
              <td>#ListeDetFR.Téléphone#</td>
              <td>#ListeDetFR.Portable#</td>
              <td>#ListeDetFR.Site#</td>
            </tr>
          </cfoutput>
 </cfform>
 
      </table></td>
    </tr>
  </table>

</cfform>

lundi 28 juillet 2008 à 13:52:07 | Re : Affichage dynamique en fonction de la saisie utilisateur

nickadele

Membre Club Administrateur CodeS-SourceS
Re,

j'ai pas très bien compris ta dernière question ou ton problème:
Peut être existe t'il un autre évenement que le onchange qui forcerait l'actualisation ou doit t'on jouer du cfloop ?

Autres points :
- tu ne peux pas imbriqué les forms !
- Retirer le ? de action="resultat.cfm?"
- nom et id du FORM <> form


  <table width="863" border="1">
    <tr>
      <td width="145">
      <cfform name="myform" id="myform" method="post" action="">
         <cfinput type="text" name="saisie" id="saisie" onChange="document.forms[0].submit()"> 
      </cfform>
      </td>
      <td width="702">&nbsp;
        <table width="701" border="1">
          <tr>
            <td>Nom</td>
            <td>T&eacute;l&eacute;phone</td>
            <td>Portable</td>
            <td>Site</td>
          </tr>
     
 <cfform action="resultat.cfm" method="post" name="resultat" target="_self" onsubmit="pageLoad_onsubmit()">   
          <cfoutput query="ListeDetFR" startRow="#StartRow_ListeDetFR#" maxRows="#MaxRows_ListeDetFR#">
            <tr>
              <td>#ListeDetFR.Nom#</td>
              <td>#ListeDetFR.Téléphone#</td>
              <td>#ListeDetFR.Portable#</td>
              <td>#ListeDetFR.Site#</td>
            </tr>
          </cfoutput>
 </cfform>
 
      </table></td>
    </tr>
  </table>


Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
lundi 28 juillet 2008 à 14:13:57 | Re : Affichage dynamique en fonction de la saisie utilisateur

Timwaz

En fait je dois valider ma saisie pour que l'affichage des personnes se fasse.

J'ai utilisé onchange en espérant en fait que la saisie dans la case recherche mette à jour automatiquement la case résultat (sans avoir à valider ... en live)

   Ex je tape A   tous les noms contenant un A s'affiche

   je continue à taper (toujours sans valider) par exemple B et la liste des personnes affichées se réduit aux personnes dont le nom contient AB

En gros

Tant que page affichée
   Si modification de la case saisie
       mettre à jour résultats


lundi 28 juillet 2008 à 14:49:50 | Re : Affichage dynamique en fonction de la saisie utilisateur

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Dans ce cas il faut que tu utilises Ajax pour envoyer la saisie et récupérer le résultat sans rafraichir l'ensemble de la page.

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
mardi 29 juillet 2008 à 10:57:16 | Re : Affichage dynamique en fonction de la saisie utilisateur


Cette discussion est classée dans : fonction, dynamique, utilisateur, saisie, personnes


Répondre à ce message

Sujets en rapport avec ce message

remplissage d'un dropdwon dynamique en fonction du choix de l'utilisateur : [ par Cugel ] Bonjour à tous,Alors voici mon problème : J'ai, dans une base de données Access, trois tables :tblCategories avec les champs categoryid et categorynam ligne de champ dynamique [ par askab ] Bonjour, je suis débutant en Dvlp Web. je cherche à créer une ligne de champ de saisie de manière dynamique. Je travail sous PHP. quelqu'un pour me ve génération d'un mail automatique en php [ par lakhalasma ] salut, je suis entrain de travailler sur un site web ou j trouvé  un probléme et voila le processus :lorsque l'utilisateur accéde au site il doit re Tuer une variable dynamique ? [ par Fabienduceps ] Slt,j'aimerais savoir s'il existe un moyen de 'tuer' une variable (dans mon cas c'est une variable dynamique) ?Faire en sorte que mon test 'isdefined' controle sur cfinput [ par Fabienduceps ] Salut,juste avant le départ en week-end , j'aimerais poser une petite question sur un cfinput .Voilà mon code<cfinput align="right" size="1" name="pos Combo dynamique [ par jeanmarieb ] Bonjour, J'ai vu cela cela sur plusieurs sites mais je ne sais le mettre en place [^^yeuxenlair] J'aimerai quand choisissant dans une combo, sans va Fonction de recherche [ par Mushcmwa ] Bonjour (bonsoir) a tous, Je développe actuellement un forum en coldfusion, j'arrive au bout mais je me casse la tête depuis quelques heures pour ess Fonction récurcive [ par crahier ] Bonjour, Je recontre un bête problème et je tourne en rond. Dans une DB, j'ai une table qui contient un menu sous la forme : CLE | PARENT | TEXTE L Question bete ! comment faire une fonction en ColdFusion ?? [ par c3po ] Désole mais je bloque la dessus !Merci Fonction [ par Pas ] Et au fait il n'est possible de faire de fonction et de classe en ColdFusion par hasard. Merçi d'avance.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,326 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales