IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Liste déroulante et aide à la saisie


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut Liste déroulante et aide à la saisie
    Bonjour,


    J'ai actuellement un champ composé d'une liste déroulante extrêmement fournie.
    Aussi, j'aimerais qu'en commençant à taper le début du mot, on puisse y voir plus clair en se limitant aux mots qui commencent par les lettres tapées.

    Comment transformer mon code?
    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	    <td class="level3" style="width:350px">
    	      <select style="width:348px" onchange="changeLabel()">
    	      <xsl:attribute name="id">labelChamp0</xsl:attribute>
    	        <xsl:call-template name="create_list_label">
    				<xsl:with-param name="ChampId">0</xsl:with-param>
    				<xsl:with-param name="Type"></xsl:with-param>
    			</xsl:call-template>
    	      </select>
    	    </td>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	.level3{
    			font-family:Verdana, Arial;
    			font-size : 12;
    			font-weight : bold;
    			color:#336699;
    			background-color:#f0f0f0;
    			cursor:hand;
    		}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <xsl:template name="create_list_label">
    	<xsl:param name="champId"/>
    	<xsl:param name="Type"/>
    	<option value="0"></option>
    	<xsl:for-each select="$champ_list/lines/line/Label">
    		<option>
    		<xsl:attribute name="value">
    			<xsl:value-of select="../ChampId"/>
    		</xsl:attribute>
    		<xsl:if test="../ChampId=$champId and ../DataType=$Type">
    			<xsl:attribute name="selected">
    				true
    			</xsl:attribute>
    		</xsl:if>
    		<xsl:value-of select="."/>		
    	</option>
    	</xsl:for-each>
    </xsl:template>

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Je sais qu'il y a des choses de faites mais je n'arrive à rien pour mon problème en particulier : ils font tous des choses avec du PHP, de l'Ajax, des appels en base, etc. Ce n'est pas ce que je veux, j'ai déjà ma liste déroulante remplie (données obtenues par XML, cf code)

    Une simple intervention javascript devrait suffire mais je ne vois pas (je manque d'expérience aussi...).

  3. #3
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Merci, vu tous les sites sur lesquels j'atterri, j'avais déjà été sur celui-là.
    Mais ce n'est pas tout à faite ça que je veux : ici il y a en plus de la liste un champ texte

    Je ne veux qu'un seul élément : la liste telle qu'elle est doit évoluer pour faire de la complétion.

    Est-ce quelqu'un qui s'y connait peut me dire comment modifier le code que j'ai posté?

    Merci.

  5. #5
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par stof Voir le message
    Merci, vu tous les sites sur lesquels j'atterri, j'avais déjà été sur celui-là.
    Mais ce n'est pas tout à faite ça que je veux : ici il y a en plus de la liste un champ texte

    Je ne veux qu'un seul élément : la liste telle qu'elle est doit évoluer pour faire de la complétion.

    Est-ce quelqu'un qui s'y connait peut me dire comment modifier le code que j'ai posté?
    Merci.
    Les listes ne disposent pas d'une zone de saisie (qui ferait office de zone de recherche pour toi). Donc ce que tu veux réaliser n'est possible qu'en ajoutant une zone de saisie.

    ERE

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Donc ce que tu veux réaliser n'est possible qu'en ajoutant une zone de saisie.
    +1

    Le type de liste que tu recherches existe dans certains outils bureautiques (Access, par exemple, si ma mémoire est bonne), mais pas en HTML : il faut donc le faire et le gérer toi-même à partir des objets HTML existants.

    A+

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Ah, mince... ça explique pourquoi je n'ai rien trouvé alors...
    Bon, je vais voir ce que je vais faire, mais en tous cas, pas question pour moi de rajouter des champs de saisie en plus des listes déroulantes actuelles.

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Utilise un script, il y en a tant que tu peux adapter sans problème.

    ERE

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui il y a eu une contribution de javatwister il y a quelque temps ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Utilise un script, il y en a tant que tu peux adapter sans problème.



    je crois que vous parlez de ça
    http://www.developpez.net/forums/d49...src-combo-box/

    Je me suis cassé les dents dessus hier (je débute dans ces langages!! j'arrive pas à adapter mon code) et j'espère qu'un collègue va pouvoir m'aider aujourd'hui.

  11. #11
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par stof Voir le message

    je crois que vous parlez de ça
    http://www.developpez.net/forums/d49...src-combo-box/

    Je me suis cassé les dents dessus hier (je débute dans ces langages!! j'arrive pas à adapter mon code) et j'espère qu'un collègue va pouvoir m'aider aujourd'hui.
    Je ne connaissais pas ce code - merci pour l'info - mais il fonctionne et effectivement correspond à ce que tu veux faire.

    Et pour le coup il ne me semble pas qu'il y aie grand chose à adapter car c'est une class qui est fournie. Adapte ton code comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    	    <td class="level3" style="width:350px">
                <div id="comboBox" class="displayComboBox">
                     <input type="text" class="displayEditField"  id="comboBoxEditField" value=""/>
     
                  <select style="width:348px" id="comboBoxList" class="hideComboBoxList">
    	      <xsl:attribute name="id">labelChamp0</xsl:attribute>
    	        <xsl:call-template name="create_list_label">
    				<xsl:with-param name="ChampId">0</xsl:with-param>
    				<xsl:with-param name="Type"></xsl:with-param>
    			</xsl:call-template>
    	      </select>
           </div>
    	    </td>
     
    ....
     
    <script>new ComboBox(document.getElementById('comboBoxEditField'),document.getElementById('comboBoxList'));</script>
    Ajoutes y les styles indiqués, le script dans une section CDATA (mais à mon avis t'as intérêt à l'externaliser, ce sera plus simple), et cela devrait rouler sans problème.

    Et à ta place, si tu n'as pas trop l'habitude, je commencerais en partant du code FINAL généré par ta transformation XSLT, j'inclurais les scripts,et styles etc, je vérifierais que tout fonctionne et je reporterai ensuite dans mon fichier xslt.

    ERE

Discussions similaires

  1. Liste déroulante avec champ de saisie
    Par midotoon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/03/2009, 17h46
  2. Réponses: 3
    Dernier message: 07/05/2007, 12h24
  3. Réponses: 9
    Dernier message: 05/04/2007, 16h23
  4. Réponses: 6
    Dernier message: 01/02/2007, 20h58
  5. liste déroulante et masque de saisi
    Par moicats dans le forum Access
    Réponses: 12
    Dernier message: 22/05/2006, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo