Я использую компонент автозаполнения простых лиц.Теперь, что это делает, вы добавляете несколько символов, и он будет искать имена соответственно.Теперь проблема в том, что у меня есть кнопка «Ввод» (на клавиатуре) ... Поскольку я хочу, чтобы ввод был функциональным, даже если вы ищете автозаполнение, вы все равно можете нажать его и продолжить, чтобы получить больший список.Теперь это делается с помощью кнопки, которая переходит в Webflow и перенаправляет на другую страницу.
Теперь у меня проблема в том, что, если автозаполнение начинает поиск, он запускает Ajax-запрос, и если я нажимаю Enter, он запускает другой запрос на перенаправление.Но здесь есть одна загвоздка: первый запрос все еще активен, и если он возвращает успех до завершения моего перенаправления, он просто прерывает перенаправление, давая мне страницу, с которой он начался.
Теперь главный вопрос: как мне остановить первый запрос, о котором я ничего не знаю?Мудрый Blackbox, я не знаю много о запросе за исключением того, что это очень раздражает.Я также не могу передать его через JavaScript, потому что у автозаполнения есть только функция при запуске, которая загружается до запроса, и при завершении, которая загружается после запроса.
Редактировать : Вот кодЯ использую на тот случай, если вам нужно, чтобы понять:
XHTML и JavaScript:
<p:autoComplete value="#{simpleSearchBean.searchString}" completeMethod="# {simpleSearchBean.completeUser}"
var="user" itemLabel="#{user}" itemValue="#{user}" forceSelection="false"
minQueryLength="3" maxResults="10" name="search_block_form" id="edit-search-block-form-1" size="30" queryDelay="500" style="float:left;">
<p:ajax event="itemSelect" oncomplete="autoClickSearchButton()" update="@all"/>
</p:autoComplete>
<p:commandButton action="simpleUserSearch" title="#{msgs_common['common.search']}" name="op" id="edit-submit" image="ui-icon ui-icon-search" style="float:left;"/>
<script type="text/javascript">
function autoClickSearchButton(){
jQuery('#search-block-form\\:edit-submit').click();
}
jQuery('#search-block-form\\:edit-search-block-form-1').keyup(function(event){
if(event.keyCode == 13){
jQuery('#search-block-form\\:edit-submit').click();
}
});
</script>
А вот фрагмент веб-потока:
<end-state id="simpleUserSearch" view="flowRedirect:user?searchString=#{simpleSearchBean.searchString}"/>
<global-transitions>
<transition on="simpleUserSearch" to="simpleUserSearch" validate="false"/>
</global-transitions>