begin process at 2012 05 29 22:51:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Recherche incrémentale sur une liste déroulante


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

Recherche incrémentale sur une liste déroulante

jeudi 3 mars 2005 à 09:11:19 | Recherche incrémentale sur une liste déroulante

killgunblood

Bonjour,

Voici mon soucis, et je ne sais pas comment faire . J'ai une liste déroulante dans laquelle j'ai des données émanant d'une base SQL. Je voudrais lorsque l'utilisateur tape les premières lettres dans cette liste quelle recherche automatiquement l'enregistrement. Actuellement, seul la première lettre est prise en compte. Est-il possible de faire cela ?

Par avance merci
jeudi 3 mars 2005 à 09:24:19 | Re : Recherche incrémentale sur une liste déroulante

bultez

Membre Club

Bonjour,

http://www.javascriptfr.com/code.aspx?id=27983

quelques explications sur certains
traitements possibles sur les select.
[ recherche sur les "n" 1ers caractères entr'autres ]

Cordialement. Bul. ~Site~~Mail~

jeudi 3 mars 2005 à 13:08:40 | Re : Recherche incrémentale sur une liste déroulante

killgunblood

Tout d'abord merci pour ton info, ca m'a permis d'avancer.. Par contre je ne vois pas le pb, voici le code de ma page et lorsque je l'exécute j'ai une erreur sur le name "Utilisateur", l'explorateur me signale qu'il ne connait pas cette valeur ? Pouvez-vous m'aider, par avance merci

 

<?
session_start();
session_destroy();
session_start();
?>
<HTML>
<head>
<script type="text/javascript">
function position()
{
  window.print(utilisateur[n].text);
for (var n=0;n<utilisateur.length;n++)
    {
       if (utilisateur[n].text>=rech.value)
       {
       utilisateur.selectedIndex=n;
       n=utilisateur.length;

       }
    }
}
</script>

</head>
<body background="/images/FOND.jpg" bgproperties="fixed">
</body>
</HTML>

<?
$Valider=$_POST['Valider'];
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('Annuaire',$db);

   echo "<p style='border-style: solid; background-color: #0000A6' align='center'><font color='#FFFF00'><b>CONNEXION A LA GESTION DES DEMANDES DE PRESTATIONS</b></font> </p>\n";
         echo "<form action='login.php4' method='POST' >\n";
   echo "<b><Center><colspan='2'> UTILISATEUR : </b>
        <SELECT NAME='utilisateur' onkeyup='position()'>\n";
               $sql = 'SELECT * FROM personne WHERE pers="OUI" ORDER BY Nom;';
        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
        echo "<OPTION></OPTION>";
        while($data = mysql_fetch_array($req))
          {
          $utilisateuraffichenom=$data['Nom'];
          $utilisateurafficheprenom=$data['Prenom'];
                 echo "<OPTION>$utilisateuraffichenom $utilisateurafficheprenom</OPTION>\n";
          }

        echo "</SELECT></Center><Br>\n";
   
   echo "<Center><b> Mot de passe : </b><input name='motpasse' type='password' size='20' style='text-transform: uppercase' maxlength='20'></Center><Br>\n";
   echo "<center><INPUT Type='submit' name='Bouton' value='Valider'></center><Br>\n";
   echo "<INPUT name='Valider' value='Valider' type='Hidden'>";
       echo "</form>\n";

       
if ($Valider=='Valider')
{

 

       // recherche si mot de passe
       // Séparation nom et prenom
       if (empty($motpasse))
          {
                 echo '<script>alert("Erreur aucun mot de passe de saisie")</script>';
          }

              else
               // CONTROLE LE MOT DE PASSE ET L UTILISATEUR
     /// test de l utilisateur
     {
    $position=strrpos($utilisateur," ");
    $nomutilisateur=substr($utilisateur,0,$position);
    $prenomutilisateur=substr($utilisateur,$position+1);
    $db = mysql_connect('localhost', 'root', '');
    mysql_select_db('Annuaire',$db);
    $sql = "SELECT * FROM personne WHERE Nom='$nomutilisateur' and Prenom='$prenomutilisateur' ORDER BY Nom;";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    while($data = mysql_fetch_array($req))
            {
                    if (($nomutilisateur=$data['Nom'])and ($prenomutilisateur=$data['Prenom'])and ($motpasse==$data['MDP']))
                       {
          //Ok pour le mot de passe
          $utilisateursit=$data['AGENT_SIT'];
          $utilisateurgr=$data['CHEF_GR'];
          $grutilisateur=$data['GR_PERS'];
          $motdepasse=$data['MDP'];
          $codeutilisateur=$data['Code_personne'];
              session_register("nomutilisateur");
              session_register("prenomutilisateur");
           session_register("utilisateursit");
           session_register("utilisateurgr");
           session_register("grutilisateur"); 
           session_register("motdepasse");
           session_register("codeutilisateur");
           session_register("selection");
          
           echo "<Br><Center><p style='background-color: #000080; color: #FFFFFF'><b>Menu principal</B></center></p>";
           echo "<center><a href='connexion.php4'><img border='1' src='page.gif' width='50' height='50' alt='Affichage du menu'></a></Center>";
          }
       else
              {
          echo '<script>alert("Mot de passe erroné")</script>';
                      }
             }              
               }

 

}
?>

jeudi 3 mars 2005 à 15:05:41 | Re : Recherche incrémentale sur une liste déroulante

bultez

Membre Club

bien,
déjà c'est plus simple si on poste la page générée
et pas la page php, sinon il nous faut les fichiers,
la base de données, charger php en local  ...
et je vois dans la fonction position() :
window.print...
cet ordre, quand la page a été totalement
affichée ( ce qui est le cas ici  car fonction
appelée sur le onkeyup d'un select )
efface tout la   page, y compris les javascript.
[ pour controler : affciher la source après
cette action ], il faut donc voir la chose
autrement.
Cordialement. Bul. ~Site~~Mail~

jeudi 3 mars 2005 à 15:07:14 | Re : Recherche incrémentale sur une liste déroulante

bultez

Membre Club

bien,
déjà c'est plus simple si on poste la page générée
et pas la page php, sinon il nous faut les fichiers,
la base de données, charger php en local  ...
et je vois dans la fonction position() :
window.print...
cet ordre, quand la page a été totalement
affichée ( ce qui est le cas ici  car fonction
appelée sur le onkeyup d'un select )
efface tout la   page, y compris les javascript.
[ pour controler : affciher la source après
cette action ], il faut donc voir la chose
autrement.
Cordialement. Bul. ~Site~~Mail~

vendredi 4 mars 2005 à 10:42:54 | Re : Recherche incrémentale sur une liste déroulante

killgunblood

Salut Bultez,

Merci pour tes infos, je commence à comprendre le pb, par contre j'ai du mal à voir comment je peut faire pour corriger ce pb. Peux tu me donner un exemple plus précis. ?

Par avance merci

vendredi 4 mars 2005 à 11:22:58 | Re : Recherche incrémentale sur une liste déroulante

bultez

Membre Club

à quoi sert  window.print(utilisateur[n].text); ?
ça met le nom de l'utilisateur sur la page
[ en l'effaçant au préalable ], c'est tout
donc, inexploitable.
que faut-il faire dans position() ?
mais donne nous la page html générée, pas
la page php.
Cordialement. Bul. ~
Site~~Mail~

vendredi 4 mars 2005 à 11:45:50 | Re : Recherche incrémentale sur une liste déroulante

killgunblood

Salut,

Voilà la page générée :
<HTML>
<head>
<title></title>
</head>
<body background="/images/FOND.jpg" bgproperties="fixed">
</body>
</HTML>

<p style='border-style: solid; background-color: #0000A6' align='center'><font color='#FFFF00'><b>CONNEXION A LA GESTION DES DEMANDES DE PRESTATIONS</b></font> </p>
<form name='login' action='login.php4' method='POST' >
<b><Center><colspan='2'> UTILISATEUR : </b>
        <SELECT NAME='utilisateur' onkeyup='position(this.name)'><OPTION></OPTION><OPTION>ALAIN Olivier</OPTION>
<OPTION>ALOUX Guillot</OPTION>
</SELECT></Center><Br>
<Center><b> Mot de passe : </b><input name='motpasse' type='password' size='20' style='text-transform: uppercase' maxlength='20'></Center><Br>
<center><INPUT Type='submit' name='Bouton' value='Valider'></center><Br>
<INPUT name='Valider' value='Valider' type='Hidden'></form>
<script type="text/javascript">
function position()
{
for (var n=0;n<utilisateur.length;n++)
  window.print(document.login.utilisateur[n].text);
    {
       if (utilisateur[n].text>=rech.value)
       {
       utilisateur.selectedIndex=n;
       n=utilisateur.length;
       }
    }
}
</script>

Pour le window.print c'était pour faire un essai. Mais le problème que j'ai c'est que j'ai une erreur sur la ge où il m'indique que utilisateur est indéfinit ????

Merci

vendredi 4 mars 2005 à 12:28:05 | Re : Recherche incrémentale sur une liste déroulante

bultez

Membre Club

pas compris ce qu'il faut faire dans position()
j'y ai donc mis un message de la ligne sélectionnée


<HTML>
<head>
<title></title>
<script type="text/javascript">
function position(zone)
{
alert ( zone ) ;
}
</script>
</head>
<body background="/images/FOND.jpg" bgproperties="fixed">
<p style='border-style: solid; background-color: #0000A6' align='center'>
<font color='#FFFF00'><b>CONNEXION A LA GESTION DES DEMANDES DE PRESTATIONS</b>
</font> </p>
<form name='login' action='login.php4' method='POST' >
<b><Center><colspan='2'> UTILISATEUR : </b>
        <SELECT NAME='utilisateur'
    onchange='position(this[this.selectedIndex].text)'>
        <OPTION></OPTION>
        <OPTION>ALAIN Olivier</OPTION>
  <OPTION>ALOUX Guillot</OPTION>
</SELECT></Center><Br>
<Center><b> Mot de passe : </b>
<input name='motpasse' type='password' size='20'
  style='text-transform: uppercase' maxlength='20'><Br/>
<INPUT Type='submit' name='Bouton' value='Valider'></center><Br/>
<INPUT name='Valider' value='Valider' type='Hidden'></form>
</BODY></HTML>

name select[name select.selectedIndex].text ou .value
c'est la ligne sélectionnée.
nous dire ce qu'il faut faire dans position().

Cordialement. Bul. ~Site~~Mail~

vendredi 4 mars 2005 à 12:39:15 | Re : Recherche incrémentale sur une liste déroulante

killgunblood

Merci pour ton aide. J'ai testé ton code est c'est ok plus de messages d'erreur. Par contre dans position, ce que je voulais faire c'est de pouvoir taper les premières lettres d'une valeure de la boite de liste et que celle-ci se positionne au fur et à mesure sur l'enregistrement voulu ?

Par avance merci


1 2

Cette discussion est classée dans : recherche, liste, déroulante, incrémentale


Répondre à ce message

Sujets en rapport avec ce message

Liste déroulante avec recherche par clavier [ par matcra13 ] salut,je vien de trouver une Liste déroulante avec recherche par clavier (http://www.toutjavascript.com/main/gorun.php3?s=listekey).masi j'aimerais qu Liste déroulante [ par sebalex ] Bonjour à toutes et à tous. Je pourrais très certainement trouver la réponse à ma question sur cet exellent forum. Mon problème est que je ne sais pas Contenu qui s'efface après XmlHttpRequest [ par Yoanned ] Bonjour à tous !Je suis débutant en Javacript, et je m'arrache les cheveux sur un problème que je ne sais pas résoudre...J'essaie de récupérer des inf onMouseOut liste déroulante [ par badziz ] Salut!j'ai fait une barre de navigation horizontale avec liste déroulante verticale comme iciPar contre le problème c'est que lorsque le curseur quitt Réinitialisation d'une liste déroulante après requete ajax [ par lowkey ] Bonjour,Voici ce que je développe :une question s'affiche, les réponses sont dans une liste déroulante.Lorsque je sélectionne une réponse, la question grisé un champ en fonction d'une liste déroulante [ par rom268 ] Voila , tout est dans le titre !J'ai une liste déroulante en relation avec ma base de donnée. Cette liste concerne les "types contrats" j'ai donc CDI, Liste déroulante Javascript [ par nonos5757 ] BonjourJe souhaite modifier le style et en particulier remplacer la fleche par une image d'une liste déroulante.Le standard n'a rien de bien personnel Formulaire qui calcul [ par twinsen60 ] BonjourJ'aimerai faire une sorte de formulaire, avec des champs a remplir par le biais de "liste déroulante".Suivant mon choix de ma liste, j'ai plusi Modifier élément sélectionné - liste déroulante [ par forcels ] Hello !J'ai une liste déroulante, que je crée de la manière suivante (en php), avec les informations venant de la base de données:   <option id="linkT comment aactiver un bouton ok (submit) avec uneliste déroulante ? [ par thinkman ] Bonjour,je cherche à activer un bouton Ok de type submit en fonction du choix d'une liste déroulante :J'ai une liste déroulante nommée "choix" qui a p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,749 sec (3)

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