Я переношу приложение с ледяных поверхностей 1.8 на поверхности льда 3.2. Это сложное приложение, и у меня возникают проблемы с страницы входа в JSF 2.Введите onkeyup, не работающий в jsf2
на странице у нас было что-то вроде:
<script type="text/javascript">
function onEnter(ev)
{ if(ev==13)
{
document.getElementById('login:linkLogin').onclick();
}
}
</script>
.
.
.
<body onkeyup="onEnter(event.keyCode);">
.
.
.
<ice:commandLink id="linkLogin" action="#{loginBean.auth}" onclick=";encriptPass('#{login.rsaKeyMod}','#{login.rsaPubKey}');">
.
.
.
Это работает на JSF 1.2 + ICEfaces 1,8 withou проблем. Но в JSF 2.1 + 3.2 ICEfaces Я изменил код так:
<script type="text/javascript">
function onEnter(ev)
{ if(ev==13)
{
document.getElementById('login:linkLogin').onclick();
}
}
</script>
.
.
.
<h:body onkeyup="onEnter(event.keyCode);">
.
.
.
<ice:commandLink id="linkLogin" action="#{loginBean.auth}" onclick=";encriptPass('#{login.rsaKeyMod}','#{login.rsaPubKey}');">
.
.
.
Этот код не будет работать таким образом. Если я нажимаю кнопку ввода, форма просто сбрасывается, и метод bean.auth даже не вызывается.
Что мне здесь не хватает. Разве JS ведет себя по-разному в jsf2 ?.
EDIT: Я нашел решение в этой теме: Submit action by the enter key Последнего сообщения имеет обходной путь.
У меня нет кнопки отправки в форме. Аутентификация выполняется через метод actionLogLogin LoginBean.auth (ActionEvent e). – panietoar