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

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

PHP/HTML - Liste déroulante en mode saisie


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

PHP/HTML - Liste déroulante en mode saisie

jeudi 16 octobre 2008 à 12:02:12 | PHP/HTML - Liste déroulante en mode saisie

adouang

Salut à tous !

Comment faire pour avoir une liste déroulante où l'on peut aussi saisir comme une zone de texte ? Si c'est possible...
Par exemple, on comme à taper un mot et il se sélectionne ds la liste déroulante.

Merci d'avance.
jeudi 16 octobre 2008 à 13:56:55 | Re : PHP/HTML - Liste déroulante en mode saisie

XtremDuke

Heu j'ai pas tout compris... tu parles d'auto-complétion ?



Projet en cours : Joof
jeudi 16 octobre 2008 à 17:21:00 | Re : PHP/HTML - Liste déroulante en mode saisie

adouang

Je n'arrive pas à faire marcher ce code sur FIREFOX :

 <html>
 <head>
 <title>document.getElementById("liste") déroulante éditable</title>
 <script language="JavaScript" type="text/javascript">
 <!--

 // Tableau contenant les éléments de la document.getElementById("liste").
 var listes;
 listes= new Array();
 listes[0]="http://www.javascriptfr.com";
 listes[1]="http://www.aspfr.com";
 listes[2]="http://www.delphifr.com";
 listes[3]="http://www.asp-irine.com";
 listes[4]="http://msdn.microsoft.com/library";
 listes[5]="http://www.asp-magazine.com";
 listes[6]="http://devedge.netscape.com/";
 listes[7]="http://www.w3.org";
 listes[8]="http://www.laltruiste.com";
 listes[9]="http://www.3dvf.com";
 listes[10]="http://www.allapi.net";
 listes[11]="http://www.wotsit.org";
 listes[12]="http://therionweb.de/";
 listes[13]="http://www.asp-php.net/";
 listes[14]="http://phidels.com/";

 // Classe la document.getElementById("liste") par ordre alphabétique.
 listes.sort();

 // Ajuste la taille des objets par rapport à la taille du champ texte.
 function Init() {
 document.getElementById("cadre").style.pixelLeft=document.getElementById("ObjListe").offsetLeft;
 document.getElementById("cadre").style.pixelTop=document.getElementById("ObjListe").offsetTop+document.getElementById("ObjListe").offsetHeight;
 document.getElementById("cadre").style.width=document.getElementById("ObjListe").scrollWidth;
 document.getElementById("liste").style.width=document.getElementById("ObjListe").scrollWidth;
 document.form.champ.focus();
 }
 // Mise en sur brillance de l'élément survolé.
 function RollOver() {
 var objet;
 objet=event.srcElement;
 objet.style.backgroundColor="highlight";
 objet.style.borderWidth="1";
 objet.style.borderStyle="dashed";
 objet.style.borderColor="black";
 objet.style.color="white";
 }

 // Retour à l'état normal de l'élément de la document.getElementById("liste").
 function RollOut() {
 var objet;
 objet=event.srcElement;
 objet.style.backgroundColor="white";
 objet.style.borderWidth="0";
 objet.style.color="black";
 }

 // Affichage de l'élément sélectionné dans le champ texte.
 function Selecte() {
 var objet;
 objet=event.srcElement;
 document.form.champ.value=objet.innerHTML;
 }

 // Efface toutes les cellules du tableau.(Tous les éléments de la document.getElementById("liste"))
 function EffacCell() {
 var e;
 e=new Enumerator(document.getElementById("liste").rows);
 for (;!e.atEnd();e.moveNext()) {
 document.getElementById("liste").deleteRow(e.item().rowIndex);
 }
 }

 // Crée une cellule. (Un élément dans la document.getElementById("liste").)
 function CreaCell() {
 var ligne, cellule;
 ligne=document.getElementById("liste").insertRow(); // Insère une ligne dans le tableau.
 cellule=ligne.insertCell(); // Insère une cellule dans la ligne.
 with (cellule) {
 noWrap=true; // Définit les propriétés
 style.cursor="default"; // et événements.
 onmouseout=RollOut;
 onmouseover=RollOver;
 onclick=Selecte;
 innerHTML=listes[i]; // Insère le texte dans la cellule.
 }
 }

 // Cherche toutes les occurrences du champ texte dans le tableau de la document.getElementById("liste").
 function Cherche() {
 var text, temp;
 EffacCell();
 text=document.form.champ.value;
 text=text.toLowerCase(); // Change le texte en minuscule pour simplifier.
 for (i=0;i<listes.length;i++) {
 temp=listes[i];
 temp=temp.toLowerCase(); // Position de recherche: 7 pour enlever "http://"
 // et 11 pour enlever "http://www."
 // 0 pour chercher à partir du premier caractère.
 if (temp.indexOf(text)==7 || temp.indexOf(text)==11 || temp.indexOf(text)==0) {
 CreaCell(); // Crée un élément pour chaque occurrence trouvée.
 }
 }
 document.getElementById("cadre").style.visibility="visible";
 }

 // Affiche la document.getElementById("liste") lorsque l'on click sur la flèche.
 function Deroule(event) {
 var e, objet;
 objet=event.srcElement; // Efface la document.getElementById("liste") pour éviter qu'elle se
 EffacCell(); // répète.
 if (objet.id!="down") { // Cache la document.getElementById("liste") si l'on a pas clicker
 document.getElementById("cadre").style.visibility="hidden"; // sur la flèche.
 }
 else {
 for (i=0;i<listes.length;i++) { // Crée tous les éléments de la document.getElementById("liste").
 CreaCell();
 }
 document.getElementById("cadre").style.visibility="visible";
 }
 }

 //-->
 </script>

 </head>

 <body bgcolor="#FFFFFF" text="#000000" onload="javascript:Init();" onclick="javascript:Deroule(event);">
 <form name="form">

 <!-- Tableau contenant le champ texte et la flèche. //-->
 <div nowrap id="ObjListe" style="border-width:2;border-style:inset;border-color:white;width:0;display:inline;">
 <input type="text" value="" name="champ" size="20" style="border-width:0;font-size:14;" onkeyup="javascript:Cherche();">
 <input id="down" type="button" value="6" style="line-height:0;height:18;font-family:webdings;font-size:10;">
 </div>
 <!-- Tableau contenant la document.getElementById("liste") de sélection. -->
 <div id="cadre" style="position:absolute;height:100;visibility:hidden;border-width:1;border-style:solid;border-color:black;overflow-x:hidden;overflow-y:scroll;">
 <table id="liste" border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>

 </form>
 </body>
 </html>
jeudi 16 octobre 2008 à 18:25:45 | Re : PHP/HTML - Liste déroulante en mode saisie

XtremDuke

En ayant testé ton code sous IE puis sous FF, Firebug (que je te conseilles d'utiliser), m'indique :

Erreur : Enumerator is not defined

L'objet Enumerator, sauf erreur de ma part, est strictement propriétaire à IE.


Projet en cours : Joof
vendredi 17 octobre 2008 à 09:13:28 | Re : PHP/HTML - Liste déroulante en mode saisie

adouang

tu as raison, mais il n'y a pas un moyen de faire la même chose sur FireFox?
vendredi 17 octobre 2008 à 10:44:39 | Re : PHP/HTML - Liste déroulante en mode saisie

XtremDuke

Par exemple :

function EffacCell() {
    var lstRows = document.getElementById("liste").getElementsByTagName('tr');
    for (i = 0; i < lstRows.length; i++) {
        lstRows[i].parentNode.removeChild(lstRows[i]);
    }
}




Projet en cours : Joof


Cette discussion est classée dans : php, liste, html, déroulante, mode


Répondre à ce message

Sujets en rapport avec ce message

Liste déroulante et affichage [ par sylvainm58 ] Bonjour,Je suis étudiant et je débute en javascript.Je développe en php/mysql. J'ai une liste déroulante qui est alimenté par une table personne et j' Comment récupéré l'id (ou etiquette) d'une liste déroulante ? [ par converse ] Bonjour à tous,Je gallère un peu depuis hier. Je vais tenter d'expliquer simplement ma question.Je souhaite envoyer via une liste déroulante dans un f Auto update d'une liste déroulante avec PHP/MySQL [ par qntoinOo ] Bonjour à tous,J'ai besoin de faire un formulaire où je pourrais après sélection dans une liste déroulante afficher une autre liste déroulante avec de Liste déroulante dynamique PHP/AJAX [ par Vins974 ] Bonjour à tous !!! J'ai besoin de votre aide svp .. Je crée un site , et j'ai besoin d'insérer 3 listes déroulantes dynamiques. Je m'explique <img sr Liste déroulante PHP et Javascript [ par sebalex ] Bonjour à tous, J'ai une liste déroulante (menu_list) qui est remplie en PHP selon une BDD. Exemple : Sujet 1 Sujet 2 Sujet 3 etc.. Si le visiteur Concaténation des choix d'une liste déroulante dans un input text [ par alaska749 ] Bonjour, Qui pourrait m'aider a créer un script js me permettant d'effectuer ceci: J'aimerais construire une interface permettant à un utilisateur de Bouton et liste déroulante dans un formulaire [ par lebender33 ] Bonjour à tous, Ca fait super longtemps que je n'avais pas codé et je me suis lancer dans un script grease monkey html/javascript pour rendre l'utili autoriser la saisie dans une liste déroulante [ par abdeslam2009 ] Bonjour, Comment peut-on autoriser la saisie dans la liste déroulante,j'ai déjà suivre un lien pour faire cela avec la technologie ajax mais je n'arr lier une liste de checkbox (case à cocher) à une liste déroulante [ par nina599 ] Bonjour, Après avoir chercher longtemps chez notre ami google sans trouver de piste je remets entre vos mains mon soucis espérant que quelqu'un y jett lier une liste déroulante à une liste de checkbox [ par nina599 ] Bonjour, Après avoir chercher longtemps chez notre ami google sans trouver de piste je remets entre vos mains mon soucis espérant que quelqu'un y jett


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 : 0,796 sec (4)

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