Hein ? Ce qui signifie que y'a un <select> dans mon code ?
J'avoue que là je ne pige pas ><
Hein ? Ce qui signifie que y'a un <select> dans mon code ?
J'avoue que là je ne pige pas ><
Moi non plusTa liste, c'est pas un select ?Quand je tape quelque chose dans ce champ, s'affiche dessous une liste de propositions correspondantes à ce que j'ai tapé (autocomplétion).
Sur le onChange de ce champ, j'appelle une fonction qui m'affichera les détails correspondants à ce mail.
Le problème est que la fonction se lance dès que je sélectionne un choix dans la liste (normal jusque là), mais elle ne prend pas en compte le choix que j'ai fait : juste ce que j'ai tapé auparavant.
A+
Pour tout savoir sur l'utilisation du forum
En postant votre message, n'oubliez pas les Règles du Club.
ben comme c'est une liste générée par l'autocomplete de YUI, je n'ai écrit nulle part de <select>.
Voila ce que j'ai pour l'autocomplete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function autoCompInit() { yahooDataSource = new YAHOO.widget.DS_XHR("start_ajax.php",["\\n", ";"]); yahooDataSource.scriptQueryAppend = "Action=$_REQUEST[Action]&Etape=ajax_liste"; yahooDataSource.responseType = YAHOO.widget.DS_XHR.TYPE_FLAT; yahooAutoComp = new YAHOO.widget.AutoComplete('reclogm','reclogm_dd', yahooDataSource); yahooAutoComp.formatResult = function(oResultItem, sQuery) { return (oResultItem[0] + " <span style='color:#006699'>" + oResultItem[1] + "</span>"); } yahooAutoComp.itemSelectEvent.subscribe(function(type,args) { document.fRecherche.destination.value = args[2][1]; } ); }
Pour tout savoir sur l'utilisation du forum
En postant votre message, n'oubliez pas les Règles du Club.
Ben il me semblait l'avoir dit, mais peut-être pas assez explicitement ...
Merci quand même pour l'aide E.Bzz !Quand je tape quelque chose dans ce champ, s'affiche dessous une liste de propositions correspondantes à ce que j'ai tapé (autocomplétion).
Ca c'est de l'euphémisme
Non, rien dans cette phrase ne l'indique : quand on parle de liste sans précision, c'est un select (en tous cas dans un forum Javascript/HTML/CSS).
Ca pourrait être <ul><li>...</ul>, mais comme tu peux faire un choix dans cette liste, c'était (pour moi) forcément un select ...
Quand à l'autocomplétion, c'est uniquement une logique de traitement indépendante du type des objets impliqués.
D'où la confusion (pas grave, ça aurait juste fait gagner du temps ...)
A+
Pour tout savoir sur l'utilisation du forum
En postant votre message, n'oubliez pas les Règles du Club.
Je pensais juste que l'autocomplétion fonctionnait de la même manière, peu importe les méthodes ! Désolée pour la perte de temps =)
Désolée pour le double post mais j'ai une question.
Est-ce que le code javascript s'exécute "pas à pas" ?
J'ai voulu mettre un focus sur mon champ où l'autocomplétion s'effectue, que celle-ci se fasse, et ensuite enlever le focus sur mon champ avec onBlur.
Le problème est qu'on passe directement du focus() à blur() sans que l'autocompletion ne se soit faite.
Y'a-t-il un moyen de dire "attendre que l'autocomplétion soit faite ET ensuite, enlever le focus sur l'objet input ?
Voici mon champ où l'autocomplétion s'effectue :
Et sur le onBlur une fonction se déclenchera.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <div id='liste'> <input type='text' class=d name='reclogm' id='reclogm' value='$reclogm' style='width:250px;' onBlur="ajaxinfo();"> </div>
Et ma fonction d' autocomplétion :
Je donne le focus, je tape ce que je veux dans mon champ, une liste s'affiche me proposant des trucs, et là au moment où je clique sur un truc dans la liste, il faudrait que mon champ perde le focus, au moins la fonction se déclenchera avec le onBlur() du haut.
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
19
20
21
22
23
24
25 <script type='text/javascript' src="js/yui/build/yahoo/yahoo.js"></script> <script type='text/javascript' src="js/yui/build/yahoo-dom-event/yahoo-dom-event.js"></script> <script type='text/javascript' src="js/yui/build/connection/connection.js"></script> <script type='text/javascript' src="js/yui/build/autocomplete/autocomplete.js"></script> <script type='text/javascript' src="js/yui/build/container/container-min.js"></script> <script type='text/javascript'> document.getElementById('reclogm').focus(); var yahooDataSource; var yahooAutoComp; var objWaiter; var yahooTooltip; function autoCompInit() { yahooDataSource = new YAHOO.widget.DS_XHR("start_ajax.php",["\\n", ";"]); yahooDataSource.scriptQueryAppend = "Action=$_REQUEST[Action]&Etape=ajax_liste"; yahooDataSource.responseType = YAHOO.widget.DS_XHR.TYPE_FLAT; yahooAutoComp = new YAHOO.widget.AutoComplete('reclogm','reclogm_dd', yahooDataSource); yahooAutoComp.formatResult = function(oResultItem, sQuery) { return (oResultItem[0] + " <span style='color:#006699'>" + oResultItem[1] + "</span>"); } } YAHOO.util.Event.addListener(this,'load',autoCompInit);
Est-ce que quelqu'un aurait une idée ?
Pour tout savoir sur l'utilisation du forum
En postant votre message, n'oubliez pas les Règles du Club.
Ben non =/ Sûrement parce que ce n'est pas une liste déroulante mais une liste générée avec l'autocomplete ?Le onblur ne se déclenche pas ?
Dans ces cas là le onBlur devrait pourtant se déclencher ?Quand l'autocompletion sera terminée, c'est toi qui changera le focus en cliquant dans le liste ...
Mes problèmes doivent venir de l'autcomplete encore une fois :s
Y'a pas moyen de bidouiller pour caler un focus() sur un autre champ après l'autocomplete ?
J'ai en fait testé cette solution mais la saisie n'est même pas faite que le focus du premier champ se perd direct pour le second champ.
Alors
pour ton pb initial, je dirais qu'il faut que tu part plus sur une erreur SQL :
truc@bidule.fr si le caractère @ est interprété (je ne pensais pas qu'il l'était) tu pourra utiliser
LIKE "truc_bidule.fr"
ou = "truc\@bidule.fr"
Mais bon, ca se teste sur ta base en commande SQL, rien de bien méchant.
Normalement, il existe des appels possible en fin de requête AJAX. cherche du coté de
onComplete
ou Callback
je ne sais pas trop ce que tu utilise pour faire tes requêtes AJAX, donc a toi de voir dans le doc si tu vois quelque chose qui te rappelle ca. Sur mootool, je sais que je met dans le callback le code javascript à exécuter à la fin.
Bon courage
Merci de te pencher sur le problème pmithrandir.
J'ai testé tes idées pour le SQL mais rien à faire, ça n'a strictement rien changé.
Pour ce qui est de 'onComplete', c'est utilisé avec Scriptaculous, or j'utilise YUI :s (dommage parce que ça aurait pu le faire).
Quant au callback(), j'ai pas bien compris ce que c'était (récupération d'une réponse) donc je vais essayer de trouver plus d'infos ^^
Bon, ben même en ayant cherché des infos sur le Callback j'ai juste réussi à trouver que ça récupérait une réponse de je-ne-sais-pas-quoi-exactement.
Une petite explication est-elle possible de ce qu'est le callback et/ou comment que ça s'écrit ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager