Je travaille avec Struts2 et le struts2-jquery-plugin.
A l'aide du struts2-jquery-showCase j'ai fini par faire fonctionner la fonctionnalité d'autocompletion (JSON) et le TAG <sj:autocompleter />.
Je rencontre un comportement étrange : tant que l'ActionSupport ne contient que des valeurs "en dur" tout cela se passe bien mais je voudrais que ma liste de valeurs soit le résultat d'un service.
1) J'ajoute un attribut à mon ActionSupport (de type uneInterfaceDAO)
2) J' injecte la bonne implémentation (uneInterfaceDAOImpl) en utilisant Spring (l'action était déjà déclarée comme un bean Spring au préalable).
.. et c'est tout.... C'est à dire que je n'appelle même pas le service.
Question 1 : Et bien l'autocompletion ne fonctionne alors plus. Avez-vous déjà rencontré cela ? Avez-vous des pistes ?
J'en profite pour poser quelques autres questions :
Question 2 : Comment mettre le focus sur ce champ autocomplete au chargement de la page (le coupd du body "onload" avec document.forms["aaa"].elements["bbb"].focus() ne fonctionne pas.
Question 3 : Comment faire en sorte que lorsque l'on clique sur le champ, il se vide (oui apres une première recherche et un premier résultat, lorsque je commence une nouvelle recherche en cliquant sur le champ je voudrais qu'il se réinitialise... en fait le document.forms["aaa"].elements["bbb"].value = '' ne fonctionne pas non plus
J'ai enfin noté un BUG : Si l'on saisi du texte et que l'on ne choisi aucune des options dans le menu déroulant on envoie une valeur vide à l'action. (alors que le champ est rempli). Pour le palier il faut que ce soit la même action qui contienne la méthode d'autocompletion et la méthode appelée lors de la validation du formulaire, on utilise alors forcément l'attribut "term".
Partager