Я пытаюсь выполнить следующий код, чтобы выполнить поиск, и он не работает. На странице search.cfm единственное возвращаемое значение - это значение, которое я вводил в поле поиска (даже если я нажимаю значение автозапуска, оно не возвращается, только буквы, которые я на самом деле набираю, возвращаются).Как получить и использовать переменные, возвращающиеся через ValueList из вызова 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>
Запрос в 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>
Две вещи: во-первых, я хотел бы получить GameID обратно на страницу, делающего запрос AJAX; Я знаю, почему он не возвращается: потому что я возвращаю только sResult
var, который не включает GameID. Есть ли способ вернуть значение GameID без его отображения?
Вторая вещь: Как я могу получить значение из автоматического предложения после его возвращения? Скажем, я хочу захватить GameID, или если я не могу это сделать, «TitleName» использовать это в моем запросе?
Я пробовал передать его форме: action="search.cfm?GameID=#cfautosuggestvalue.GameID#"
- но это не работает. Как я могу ссылаться на varaibles autosuggestionvalue для использования?
Благодаря
Благодаря Ray ... любые идеи, хотя, почему форма принимает только ввод на клавиатуре, а не значение auto-suggest? Например, если я набираю «m» и появляется «металлическая передача», нажатие на меня приведет к search.cfm, но когда я сброшу # форму #, я получу «м», а не «металлическую передачу» - почему что? – Mohamad
Если вы привязываетесь к onClick, он отправит 'm'. Если вы привязываетесь к onChange, он должен отправить последнее измененное значение в поле ввода. – Henry