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

Struts 1 Java Discussion :

[struts] Listes déroulantes saisissables mais pas modifiable


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [struts] Listes déroulantes saisissables mais pas modifiable
    Bonjour,

    Voila je realise une application web avec Struts. ..... et les utilisateurs 'débiles' nous font des misères ....

    Voila mon soucis. :
    Nous avons des listes déroulantes realisees avec struts.
    Les utilisateurs souhaitent quand ils ont le focus sur une liste deroulante, pouvoir, d'une part saisir un element de la liste avec la souris, ce qui est fait.... d'autre part pouvoir commencer a saisir LES(voir toutes les lettres d'un element de la liste) premieres lettres d'un element de la liste pour pouvoir faire une pre-selection et selectionner l'element voulu (ce qui n'est pas fait). Cepedant les elements de la liste sont inmodifiables et l'utilisateur ne peut pas inserer en tapant n'importe quoi, une element de la liste.

    Voila je ne sais pas si c'est possible, je fait appel a votre aide.

    Merci a tous, bonne continuation.

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Bonjour,

    Pour une application d'un client, il fallait proposer quelque chose de similaire à ce que tu décris, bien qu'un peu différent. La solution adoptée est un textfield, à coté de la liste déroulante. Le principe est que la personne peut librement selectionner un element dans la liste déroulante. Sinon, elle peut commencer à taper les lettres dans le textfield, et en javascript, une fonction comparait les champs du select et celui du textfield pour préselectionner l'element qui se rapprochait syntaxiquement. Cette fonction était appellée sur l'évènement onKeyUp du textfield.

    Mais toi apparement tu voudrais aussi faire une insertion dans la liste si l'élément n'existe pas. Donc va falloir rajouter un peu de logique derrière. Car si l'élément n'existe pas, mais que sa saisie corresponde au début d'un élément de la liste, c'est l'élément de la liste qui sera pris en compte. Donc pour résoudre ce problème, tu pourrais par exemple demander à l'utilisateur de commencer sa saisie par un + si il s'agit d'une insertion.

    Désolé je n'ai pas le code sous la main pour te le montrer, j'ai changé de missions entre temps, je te sors ce que j'ai en mémoire.
    K

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Merci bien pour ces quelques explications, je vais proposer ceci aus
    utilisateurs. Mais je pense qu'ils ne vont pas vouloir......
    A bientot.

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Le problème est qu'il est impossible de rendre une liste HTML ( SELECT ) editable. Donc tu seras obligé d'avoir un textfield pour les insertions.

    Après tu peux gérer l'évènement onKeyUp de ta liste, mais il faut qu'elle ait le focus. Ce qui implique que l'utilisateur la selectionne, ou bien que ton programme mette le focus par défaut sur ce composant. Mais du coup, si il appuie sur la flèche du bas, la liste va être modifiée !

    Un peu galère ;-) J'ai réfléchi à beaucoup de problèmes liés aux limitations des interfaces HTML, pour me rendre compte qu'il vallait mieux éviter au maximum d'imiter les comportements des clients lourds ( Codés en VC++, VB, Delphi ou Java SWING/AWT/SWT ) car c'était une galère dans laquelle on ne fait que s'enfoncer, car plus il y a de javascript, plus tu as de chance de faire quelque chose de non portable sur différents navigateurs.

    Bon courage
    K

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    il est possible d'utiliser les evts javascript onKeypress, onKeydown, onKeyup, onfocus et onblur sur la liste deroulante
    il existe un composant asp.net qui a ce comportement dont le javascript est réutilisable http://stirtaputra.tripod.com/smartdropdownlist/

Discussions similaires

  1. liste déroulante blanche mais pas vide
    Par rob1son76 dans le forum IHM
    Réponses: 4
    Dernier message: 18/06/2010, 11h14
  2. Liste déroulante ne réagit pas au clic
    Par St-Jean dans le forum IHM
    Réponses: 5
    Dernier message: 07/02/2009, 04h36
  3. Réponses: 1
    Dernier message: 03/08/2007, 16h42
  4. Réponses: 3
    Dernier message: 15/06/2007, 12h06
  5. [JSP][Struts]Liste déroulante et bean
    Par prokcnet dans le forum Struts 1
    Réponses: 10
    Dernier message: 23/03/2006, 16h16

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