Вопрос:

Отправить форму с простыми виджетами при входе

html jsf jsf-2 primefaces

832 просмотра

2 ответа

1430 Репутация автора

Мне нужно, чтобы моя primefaces p:commandLinkотправка, h:formкогда пользователь нажимает enterклавишу.

Я попробовал решения, предложенные здесь и в нескольких других местах. Я тоже попробовал primefaces defaultCommand. Независимо от того, что я пытаюсь, браузер, кажется, замечает нажатие кнопки, но actionне выполняется.

Это виджеты моей формы:

<p:autoComplete id="acSimple" value="#{home.searchKeywords}" completeMethod="#{home.completeText}" style="" />
<p:commandLink id="srchbutton" action="#{home.goToSearchResults}" onclick=" $('.prgrs').show();">
    <h:graphicImage id="srch" name="images/searchbutton.jpg" class="img-responsive" style="display: inline-block; margin-left:0px; margin-bottom:-0px;"  />
</p:commandLink>
<p:defaultCommand target="srchbutton" />
Автор: Eddy Источник Размещён: 21.06.2015 11:13

Ответы (2)


1 плюс

196 Репутация автора

Решение

<h:form onkeypress="if (event.keyCode == 13) { document.getElementById('form:srchbutton').click(); return false; }">

Убедитесь, что ваш реальный идентификатор ссылки - "form: srchbutton" или укажите, что это такое. Вы можете использовать инструменты разработчика или firebug, чтобы узнать это.

Автор: Dijana Cukic Размещён: 22.06.2015 07:53

1 плюс

439 Репутация автора

Решение Диджаны правильное, но действие onkeyupследует использовать, а не использовать onkeypress.

ENTER - это событие действия, поэтому он не будет пойман onkeypress, который захватывает основные и метасимволы. Поэтому вам нужен onkeydown (который может вызвать проблемы, если ENTER не работает даже после загрузки следующей страницы) или onkeyup.

Автор: Theofanis Размещён: 18.10.2016 12:22
Вопросы из категории :
32x32