J'essaie le code suivant pour exécuter une recherche et cela ne fonctionne pas. Sur la page search.cfm, la seule valeur qui revient est la valeur que j'ai entrée dans le champ de recherche (même si je clique sur une valeur d'auto-suggestion, elle ne revient pas, seules les lettres que je tape moi-même reviennent).Comment saisir et utiliser une variable renvoyée par ValueList à partir d'un appel AJAX?
<cfform class="titleSearchForm" id="searchForm" action="search.cfm?GameID=#cfautosuggestvalue.GameID#" method="post">
<fieldset>
<cfinput type="text" class="titleSearchField" name="TitleName" onChange="form.submit()" autosuggest="cfc:gz.cfcomp.search.AutoSuggestSearch({cfautosuggestvalue})">
<input type="button" class="titleSearchButton" value=" " />
</fieldset>
</cfform>
requête dans CFC:
<cfquery name="SearchResult" datasource="myDSN">
SELECT CONCAT(titles.TitleName, ' on ', platforms.PlatformAbbreviation) AS sResult, games.GameID
FROM
games
Inner Join platforms ON games.PlatformID = platforms.PlatformID
Inner Join titles ON titles.TitleID = games.TitleID
WHERE
UCase(titleName) LIKE Ucase('#ARGUMENTS.SearchString#%')
ORDER BY
titleName ASC;
</cfquery>
Deux choses: Tout d'abord, je voudrais obtenir le gameid revenir à la page faisant la demande AJAX; Je sais pourquoi il ne revient pas: Parce que je ne retourne que sResult
var, ce qui n'inclut pas le GameID. Est-il possible de retourner la valeur GameID sans l'afficher?
La deuxième chose: Comment saisir une valeur à partir de la suggestion automatique une fois qu'elle est retournée? Dire que je veux saisir le GameID, ou si je ne peux pas le faire, le "TitleName" pour l'utiliser dans ma requête?
J'ai essayé de le passer à la forme de cette façon: action="search.cfm?GameID=#cfautosuggestvalue.GameID#"
- mais cela ne fonctionne pas. Comment puis-je référencer les variables d'autosuggestionvalue à utiliser?
Merci
Merci Ray ... toutes les idées cependant, pourquoi la forme prend seulement dans mon entrée de clavier et pas la valeur de suggestion automatique? Par exemple, si je tape "m" et qu'un "engrenage en métal" apparaît, cliquer sur me mènera à search.cfm, mais quand je jette # forme # je reçois "m" et non "engrenage métallique" - pourquoi cette? – Mohamad
Si vous vous connectez à onClick, il va envoyer 'm'. Si vous liez à onChange, il doit envoyer la dernière valeur modifiée dans le champ de saisie. – Henry